#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int age;
printf("What is your age?: ");
scanf("%d ", &age);
printf("your age is %d", age);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我只是学习一些基本的c编程并且有一个小问题.当我编译并运行此代码时,我的控制台屏幕将提示我我的年龄,我键入一些数字,然后按Enter键,没有任何反应.然后,只有当我点击键盘上的任何其他字母时,我的年龄才能通过最后的陈述打印出来 我想知道这是怎么发生的,我该如何防止这种情况发生?我希望能够输入我的年龄,并在输入我的年龄后按下输入后立即显示.
我是C的新手,一小时前刚开始搞乱它,所以如果这是一个糟糕的问题,请原谅.
更改scanf("%d ", &age);到scanf("%d", &age);
即删除空间,你不需要它.
scanf格式的空白字符使其显式读取并忽略尽可能多的空白字符.因此,scanf("%d ", ...在读取一个数字之后,它将继续读取字符,丢弃所有空格,直到它在输入上看到非空白字符.该非空白字符将留作输入函数读取的下一个字符.