相关疑难解决方法(0)

scanf()好奇的行为!

我最近偶然发现了一个奇怪的案例(至少对我而言,因为我之前没有遇到过这种情况).考虑下面的简单代码: -

int x;
scanf("%d",&x);
printf("%d",x);
Run Code Online (Sandbox Code Playgroud)

上面的代码采用正常的整数输入并按预期显示结果.

现在,如果我将上面的代码修改为以下代码: -

int x;
scanf("%d ",&x);//notice the extra space after %d
printf("%d",x);
Run Code Online (Sandbox Code Playgroud)

这会在它给出printf语句的结果之前接受另一个额外的输入.我不明白为什么空格会导致scanf()的行为发生变化..任何人都可以向我解释这个....

c c++ scanf

9
推荐指数
1
解决办法
1153
查看次数

标签 统计

c ×1

c++ ×1

scanf ×1