下段c代码,输入任意字符为什么为什么输出4?
voidmain(){chara[20];scanf("%s",&a);printf("%c\n",a);}...
void main()
{
char a[20];
scanf("%s",&a);
printf("%c\n",a);
} 展开
{
char a[20];
scanf("%s",&a);
printf("%c\n",a);
} 展开
展开全部
给你讲一下基本功吧,a是个数组,本来就来就表示一个地址,所以可以直接这样使用scanf("%s",a); %s代表字符串,%c代表字符,如果你说输入任意字符都输出4,哪么有可能你每次输入的时候,开头都是4,把printf("%c\n",a); 中的%c改成%s试试。
给个满意答案,谢谢
给个满意答案,谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你输入的时候是以字符串的格式输入的而输入时确实字符格式输入,格式不对应,所以才会出错,应该这样改
void main(){
char a[20];
scanf("%s",&a);
printf("%s\n",&a);
}
void main(){
char a[20];
scanf("%s",&a);
printf("%s\n",&a);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
但是 printf("%c\n",a);一直输出4,a是a[0]的首地址, printf("%c\n",a);a[0]的地址以字符型输出了!输出的不是a[0]的里面值而是它的地址所以一直是4,
更多追问追答
追问
地址为什么是4了?
追答
void main(){
int c;
char a[20];
scanf("%s",&a);
printf("%c\n",a);
}
你试试还是不是4!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void main()
{
char a[20];
scanf("%s",&a);//这里错误,不需要&
printf("%c\n",a);//更改后这里会显示第一个字符
}
{
char a[20];
scanf("%s",&a);//这里错误,不需要&
printf("%c\n",a);//更改后这里会显示第一个字符
}
追问
还是输出4啊
追答
void main()
{
char a[20];
scanf("%s",a);
printf("%c\n",&a);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
scanf("%s",&a);这里不该加&吧
再说后面只是输出一个字符
再说后面只是输出一个字符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询