我收到应该放入数组的输入,尽管我已经实现了检查数组是否太短/太长的方法,但似乎无法绕过数组是否包含非数字字符。
数组由空格分隔,并且始终以EOF结尾,我也想出了那部分。这是我尝试过但无法解决问题的一些方法。我的代码有问题吗?
char *str;
long nums;
fgets (line, BUFFER, stdin);
nums = strtol(line, &str, 10);
if (str != '\0'){
printf("Invalid input z");
return 1;
}
//但是这里的行仅返回空格之前的第一个值,即EOF的!=
我将fgets中的输入转换为输入的方法是使用strtok,然后使用atoi将其转换为整数,然后再将其存储在数组中。有没有一种更好/更容易的方法可以在这里丢失?谢谢!