求大佬解答我想在主函数里使用调用函数里的变量,这变量是中文,
c4droid吧
全部回复
仅看楼主
level 8
求大佬解答
我想在主函数里使用调用函数里的变量,这变量是中文,主要想通过形参传递,但中文要用数组或指针,再传递的话,我糊涂了[泪]。中文如a[]="我爱中华"或*a="我爱中华",但我说到这中文是变量,是不是不要考虑数组了?但我又不会指针。我看书上说什么可以通过执行调用函数来改变实参指针变量所指向的值,但这变量是调用函数里面的,跟书上直接在主函数里面的数不一样。至于用调用函数直接输出保存在,,额,输着输着又想到这方法,我再试看看!但我的初衷是调用这函数返回很多数,这其中有汉字,要是能直接返回3个数组就好了。
2018年05月08日 09点05分 1
level 8
#include <stdio.h>
int main()
{
int E[9]={0};
int M[9]={0};
int X[1]={0};
char *N;
int C=9,i;
int O=1;
void SB(int C,int O,int M[9],int E[9],int X[1],char *SN);
SB(C,O, M,E,X,N);
for (i=0;i<9;i++)
printf("%d ",M[i]);
printf("\n");
for (i=0;i<9;i++)
printf("%d ",E[i]);
printf("\n");
for (i=0;i<1;i++)
printf("%d ",X[i]);
printf("\n");
printf("%s",N);
printf("\n");
return 0;
}
void SB(int C,int O,int M[9],int E[9],int X[1],char *SN)
{
int MA,MB,MC;
int MD,ME;
int MF,MG,MH;
int EA,EB,EC;
int ED,EE;
int EF,EG,EH;
int ML;int EL;
int WO=0;
char *SK;
if (C==1)
{
switch (O)
{
case 0:printf("");break;
case 1:*SK="虾米",WO=1, ML=2,MA=50,MB=-45;break;
case 2:*SK="光",WO=1, ML=1, MA=80,MB=-50;break;
case 3:*SK="灵",WO=1, ML=99, MH=100,MB=-60;break;
}
}
else if (C==2)
{
switch (O)
{
case 0:printf("");break;
case 1:*SK="金",WO=1,ML=99, MH=120,MB=-65;break;
case 2:*SK="之移动哦",WO=1,ML=3, MD=40,MB=-75;break;
}
}
else if (C==3)
{
switch (O)
{
case 0:printf("");break;
case 1:*SK="行我够",WO=1,ML=3, MA=-100, MD=40,ME=40; break;
case 2:*SK="你一直问手",WO=1,ML=1, MA=-100,MB=150;break;
}
}
else if (C==4)
{
switch (O)
{
case 0:printf("");break;
}
}
else if (C==5)
{
switch (O)
{
case 0:printf("");break;
case 1: break;
case 2: break;
case 3:break;
}
}
else if (C==6)
{
switch (O)
{
case 0:printf("");break;
case 1:break;
}
}
else if (C==7)
{
switch (O)
{
case 0:printf("");break;
case 1:break;
}
}
else if (C==8)
{
switch (O)
{
case 0:printf("");break;
case 1:break;
}
}
else if (C==9)
{
switch (O)
{
case 0:printf("");break;
case 1: break;
}
}
else if (C==10)
{
switch (O)
{
case 0:printf("");break;
case 1: break;
}
}
else if (C==11)
{
switch (O)
{
case 0:printf("");break;
case 1:break;
}
}
2018年05月08日 23点05分 6
fangshan
2018年05月08日 23点05分
level 8
else if (C==12)
{
switch (O)
{
case 0:printf("");break;
case 1:break;
}
}
M[0]=MA,M[1]=MB,M[2]=MC;
M[3]=MD,M[4]=ME;
M[5]=MF,M[6]=MG,M[7]=MH;
M[8]=ML;
E[0]=EA,E[1]=EB,E[2]=EC;
E[3]=ED,E[4]=EE;
E[5]=EF,E[6]=EG,E[7]=EH;
E[8]=EL;
X[0]=WO;
}
2018年05月08日 23点05分 7
level 8
2018年05月09日 23点05分 10
啊咧,抱歉,我错了,学到了
2018年05月09日 23点05分
level 8
//大佬们!为什么switch使用时在里面给字符数组赋值identifierexpected?还有字符数组做形参是不是不可以虚实结合?我不想用if,那样感觉代码太丑了,我想用switch。
else if (C==2)
{
switch (O)
{
case 0:printf("");break;
case 1:char SN[25]="金",
WO=1,ML=99, MH=120,MB=-65;break;
2018年05月10日 01点05分 12
拜托拜托[太开心][太开心]
2018年05月10日 01点05分
回复 爱签到的萌新😘 :"金"的类型可以看做char[4]所以←_←乖乖用sprintf()吧
2018年05月10日 02点05分
@color371 可是我是调用,不是输出呀[惊哭]
2018年05月10日 03点05分
level 8
@一棵草斩星辰- @不知者来此 大佬帮帮忙,看下呗!网上真没找到
2018年05月10日 09点05分 13
1