如何使用C语言中的scanf函数来实现用户依次输入变量a和b(每输入一个值后按回车键),然后程序自动显示这两个输入值的效果?
时间: 2024-10-21 07:12:55 浏览: 35
在C语言中,你可以使用`scanf`函数配合循环结构来实现这个功能。下面是一个简单的示例:
```c
#include <stdio.h>
int main() {
int a, b;
// 使用循环,确保每次只读取一个整数
while (true) {
printf("请输入第一个整数(a): ");
if (scanf("%d", &a) == 1 && fgetc(stdin) == '\n') { // fgetc检查是否为换行符
break; // 输入有效,跳出循环
}
// 清理并提示用户重新输入
printf("输入错误,请输入一个整数: ");
scanf("%*[^\n]"); // 清除缓冲区
}
while (true) {
printf("请输入第二个整数(b): ");
if (scanf("%d", &b) == 1 && fgetc(stdin) == '\n') {
printf("你输入的a是: %d\n", a);
printf("你输入的b是: %d\n", b);
break; // 输入有效,打印结果并退出循环
}
printf("输入错误,请输入一个整数: ");
scanf("%*[^\n]");
}
return 0;
}
```
在这个例子中,我们通过`scanf`读取用户输入,并使用`fgetc`检查是否为换行符来确认用户的输入已经结束。如果用户输入了无效的数据或没有按下回车键,我们会清除缓冲区并提示用户重新输入。
阅读全文