下段c代码,输入任意字符为什么为什么输出4?

voidmain(){chara[20];scanf("%s",&a);printf("%c\n",a);}... void main()
{
char a[20];
scanf("%s",&a);
printf("%c\n",a);
}
展开
 我来答
百度网友ff479cd
2013-05-03
知道答主
回答量:11
采纳率:0%
帮助的人:4.3万
展开全部
给你讲一下基本功吧,a是个数组,本来就来就表示一个地址,所以可以直接这样使用scanf("%s",a); %s代表字符串,%c代表字符,如果你说输入任意字符都输出4,哪么有可能你每次输入的时候,开头都是4,把printf("%c\n",a); 中的%c改成%s试试。

给个满意答案,谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
传说中的土鳖
2013-05-03 · 超过27用户采纳过TA的回答
知道答主
回答量:95
采纳率:33%
帮助的人:41.6万
展开全部
你输入的时候是以字符串的格式输入的而输入时确实字符格式输入,格式不对应,所以才会出错,应该这样改
void main(){
char a[20];
scanf("%s",&a);
printf("%s\n",&a);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浪人望断了天涯
2013-05-03
知道答主
回答量:17
采纳率:0%
帮助的人:12.9万
展开全部
但是 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!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Kunono
2013-05-03 · 超过18用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:42.7万
展开全部
void main()
{
char a[20];
scanf("%s",&a);//这里错误,不需要&
printf("%c\n",a);//更改后这里会显示第一个字符
}
追问
还是输出4啊
追答
void main()
{
char a[20];
scanf("%s",a);
printf("%c\n",&a);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cpucash
2013-05-03 · TA获得超过1584个赞
知道小有建树答主
回答量:1457
采纳率:66%
帮助的人:969万
展开全部
scanf("%s",&a);这里不该加&吧
再说后面只是输出一个字符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式