有时,当我在 fgets() 中根本不输入任何数字时,我的 isdigit 条件仍然满足。不会一直发生但很少发生。为什么要这样做?这是代码。
void calculate(){
char item_name[20];
int i;
printf("\nEnter Your Product:");
fgets(item_name, 20, stdin);
for(i=0; i<20; i++){
if(isdigit(item_name[i])){
Errorlevel("Input Has a Number");
}
}
internet(item_name);
return;
}
最佳答案
您没有初始化您的 item_name
数组,可能只是遇到可能存储在那里的垃圾,尤其是当您没有检查存储字符串的长度和您的 for
循环遍历整个数组长度。
关于c - 为什么我的 ifdigit 出现故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42730991/