在我的程序中,我需要验证传递给程序的参数是一个整数,所以我创建了这个小函数来处理用户键入"1st"而不是"1"的情况.
问题是它根本不起作用.我试着调试和所有我可以告诉你的是,参数为12,长为2(12是我要测试的值,2是传递给函数的数数)
int intOnly(char *toCheck, int longeur) {
int i = 0;
while (i < longeur) {
switch (toCheck[i]) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case ' ':
i++;
default:
return 0;
break;
}
return 1;
}
}
Run Code Online (Sandbox Code Playgroud)
我希望一切都清楚,谢谢你的帮助;)
一旦你已经修复了已经被指出的问题,你应该查找isdigit并isspace用它们来更清晰地写函数.另一种可能性是使用类似的东西strcspn或者strpbrk在一个步骤中进行搜索.
| 归档时间: |
|
| 查看次数: |
187 次 |
| 最近记录: |