【发布时间】:2021-05-02 01:04:03
【问题描述】:
我正在使用scanf() 获取 x 的值,并且我想检查是否输入了单个整数以外的任何内容;如果是,我想重新输入。
这是我目前拥有的:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char const *argv[])
{
int x;
char c;
int input = scanf("%i%c", &x, &c);
while (input != 2 || c != '\n')
{
input = scanf("%i%c", &x, &c);
}
printf("x = %i\n", x);
}
目前,当我输入两个用空格分隔的整数时,例如23 43,程序会打印出 43,而不是再次要求输入。
任何帮助将不胜感激。
谢谢。
【问题讨论】: