C语言scanf输入时可以加逗号的吗?
2022-12-11 · 百度认证:北京惠企网络技术有限公司官方账号
可以,但是输入数据的时候一定也要加上逗号。
用scanf()读取数据时,输入的格式必须和scanf()的格式控制字符串对应,比如说:
1、scanf("%d,%d",&a,&b);因为两个%d之间有一个逗号,所以在输入时两个整数之间只能用逗号分隔,如果用其它符号分隔就会出错(比如说此时用空格、回车分隔就会出错)
2、scanf("%d%d",&a,&b);这个格式控制字符串就可以用空白分隔(空格,回车都可以)
扩展资料:
C语言逗号运算符:
逗号运算符是所有运算符中级别最低的,遇到逗号运算符表示运算结束;
int i=0;
int j=(i++,i++,i++);
printf("i=%d,j=%d\n", i,j);//i=3,j=2;i++遇;才算结束
i=0;
int k=(i++)+(i++)+(i++);
printf("i=%d,k=%d\n", i,k);//i=3,k=0
int a=10;
int b;
int num = (a = 19, b = 10, a + 1);
printf("a=%d,b=%d,num=%d\n", a,b,num);//a=19,b=10,num=20
C语言逗号表达式:
这种类型的运算符成为逗号表达式,又称为“顺序求值运算符”。
int a=10;
a = 3 * 5, a * 4;
printf("%d\n", a);//15;把a = 3 * 5作为一个整体,是一个赋值语句;后面a * 4是另外一个语句;
a=10;
printf("%d\n", (a = 3 * 5, a * 4));//60;括号内是一个整体,它的值是最后一个表达式的值,先运行得出a=15,后运算15*4=60;
a=10;
printf("%d\n", a = 3 * 5, a * 4);//15;这里的逗号是作为参数的分隔作用,a=15,后面的a * 4没有打印;
a=10;
printf("%d,%d\n", a = 3 * 5, a * 4);//15,40;