大家好,我是C新手,我有一个关于如何检查输入是否包含非数字字符的问题。
这是我的代码:
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
int main(void){
char arraySize;
scanf("%c",&arraySize);
if(!isdigit(arraySize)){
printf("BADINPUT\n");
}else{
return 0;
}
}
[运行代码时,我输入了xy4
并且输入了printf
BADINPUT。但是,当我输入4xyz
时没有输入printf
BADINPUT。似乎只读取第一个字符并检查是否为isdigit
。
如何更改代码,以便在我输入4xyz
时也将成为BADINPUT?
您应该使用“ == 0”或“!= 0”来检查此字符是否为数字