scanf("%d,%d,%d",&a,&b,&c)输入疑问
本帖最后由 shark8890 于 2022-4-1 14:20 编辑今天使用DEV-C++编写程序,发现下面两个输入的数值后,输出完全不一样?
从键盘输入5 5 5
1:scanf("%d,%d,%d",&a,&b,&c);
输出a,b,c
a 5 b 1 c 0
2:scanf("%d%d%d",&a,&b,&c);
a 5 b 5 c 5
请教大神,这是什么原因?
已解决,a接收到数据5,b接收到了数据为真1,c没有接收到为0. 你那个逗号好起来像全角逗号 本帖最后由 andy大宝 于 2022-4-4 13:24 编辑
scanf("%d,%d,%d",&a,&b,&c);的格式字符串中有非格式字符",",输入时也应该对应:
5,5,5
555请按任意键继续. . .
而scanf("%d%d%d",&a,&b,&c);只需要用空格或回车区分就可以了:
5
5
5
555请按任意键继续. . .
或
5 5 5
555请按任意键继续. . .
扩展:假如程序为:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c;
scanf("a=%d,b=%d,c=%d",&a,&b,&c);
printf("%d%d%d",a,b,c);
system("pause");
return 0;
}
则输入方式和结果应为:
a=5,b=5,c=5
555请按任意键继续. . .
页:
[1]