scanf("%c",&c); scanf("%d",&i); scanf("%s",&m); printf("%c,%d,%s\n",c,i,m);
输入456【空格】789【空格】123【回车】输出结果是?为什么?答案是4,56,789,123答案错了吗???...
输入456【空格】789【空格】123【回车】
输出结果是? 为什么? 答案是4,56,789,123
答案错了吗??? 展开
输出结果是? 为什么? 答案是4,56,789,123
答案错了吗??? 展开
2个回答
展开全部
输出应该是:4,56,789
scanf("%c",&c); ---------> 读入一个字符'4',c = '4';
scanf("%d",&i); ---------> 读入一个整数,由于4已经被读入,所以读入整数56,i = 56;
scanf("%s",&m); ---------> 读入一个字符串,读入"789", m = "789"。
注意:scanf读取数据时,是以空格判断结束的。
scanf("%c",&c); ---------> 读入一个字符'4',c = '4';
scanf("%d",&i); ---------> 读入一个整数,由于4已经被读入,所以读入整数56,i = 56;
scanf("%s",&m); ---------> 读入一个字符串,读入"789", m = "789"。
注意:scanf读取数据时,是以空格判断结束的。
追问
scanf("%d",&i); ---------> i=56;下一条语句读入字符串,m=[空格] ? 答案怎么还多了个,123
追答
这里不会读入空格,空格是用来判断的,直接读取下一个数据。m = "789"。
在vc6下输出就是4,56,789。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询