您好, 先看下这个程序, scanf()函数中带逗号的情况:
#include<stdio.h>
int main(void)
{
int age1,age2; /* 变量*/
printf("Enter your age .\n");
scanf("%d , %d",&age1,&age2); /* 两个%d之间带了逗号 */
printf("%d,%d",age1,age2);
return 0;
}
下面是运行的情况:
1、正常情况下,输入 98,99 ,运行如下:
2、如果输入的是 98, 99 , 则运行的结果如下:
这个结果就是错的了,99 怎么会变成1呢, scanf 不是会跳过整数之前的所有空白吗。
3、如果输入的是 98 99, 则运行的结果也是如下:
谢谢!
scanf中的样式是什么样的,你输入的时候必须跟scanf中的样式一致,输入98, 99 的时候,要么逗号用成了中文的逗号,要么就是有多余的空格。
我们到知道采用scanf("%s",a);当遇到空格就自动截断了,你最好把两个变量附上处置,再看看情况。