c语言char数值问题 5

对t定义:chart[5]="0";为什么scanf("%d",t)执行错误必须使用scanf("%s",t)才可以正确执行... 对t定义:char t[5]="0";
为什么scanf("%d",t)执行错误 必须使用scanf("%s",t)才可以正确执行
展开
 我来答
ylcqucc
2014-12-19 · TA获得超过1435个赞
知道小有建树答主
回答量:862
采纳率:0%
帮助的人:331万
展开全部

因为t是一维字符数组的名称,代表该数组在内存中的地址,也是一维字符数组中的第一个元素的地址,即&t[0]。


执行scanf("%d",t)不会报错,只是不能接受一个字符串,或一系列的字符


如果执行scanf("%s",t);  可以接受一个字符串的输入。


追问
恩 我知道char可以通过%d接受数值所以才改成这样试一试行不行虽然不能输入字符串但应该可以用
但为什么在system(strcat(cmd,t))还是出现了错误
wangll19900920
2014-12-19 · TA获得超过1157个赞
知道小有建树答主
回答量:635
采纳率:50%
帮助的人:249万
展开全部
char t[5] 是个字符数组
%d 输入的是数字,
%s 输入的是字符串
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小猪猪考研记
2014-12-19 · TA获得超过108个赞
知道答主
回答量:63
采纳率:0%
帮助的人:79.2万
展开全部
scanf是从缓存去 "%" 类型的数据,如果是%d就是取整数,和本身的类型不配了,所以执行错误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式