关于scanf的格式输入

[复制链接]
查看11 | 回复1 | 2010-7-6 13:55:12 | 显示全部楼层 |阅读模式
#include
void main()
{
int m=0,n=0;
char c='a';
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
}
这是题目:若从键盘上输入10AB10,则输出结果是
答案是10,A,0测试的结果也是如此
下面是我的理解
scanf中的第一个%d,读取10;第二是%c,因为只能读取一个字符,所以读取的是A,但是第三个%d读取的是什么呢,为什么它的最后结果却是0呢??
多谢大家指教了。

回复

使用道具 举报

千问 | 2010-7-6 13:55:12 | 显示全部楼层
可能是遇到非法输入(格式不对),就终止了。0是因为你对n进行初始化为0了int m=0,n=0;如果把n改为其他值就不是输出0了。所以在使用scanf()时最好严格按照格式输入,以免带来不必要的麻烦。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行