欢迎光临散文网 会员登陆 & 注册

c语言scanf()使用中的逗号问题

2023-08-23 15:38 作者:电子学记  | 我要投稿

代码1:

int a, b;

a=10;

b=20;

scanf("%d,%d,\n", &a, &b); // a=100, b =200,错误用法

printf("%d,%d,\n", a, b);


代码2:

int a, b;

a=10;

b=20;

scanf("%d%d,\n", &a, &b); // a=100, b =200,正确用法

printf("%d,%d,\n", b,a);

请问输出结果有什么差异?

是有差异的,代码1输出时,a=100, b=20;而代码2输出时,a=100,b=200。根据结果,我们可以看到第一个有点问题的,本来我们想把接盘输入的打印出来,键盘输入100和200,打印也应该是100和200,然而第一个只是输出了100和20,换句话说就是200没有给b赋值。原因就差在scanf里面的那个多的逗号上,两个数的输出在scanf()中是不能加逗号的,在printf上是可以加的。

也就是scanf("%d%d,\n", &a, &b)是正确的,%d和%d之间没有逗号。

已经用Devcpp验证过了。

本文结束。

c语言scanf()使用中的逗号问题的评论 (共 条)

分享到微博请遵守国家法律