
现在,我正在做:
int menu;scanf("%d",&menu); 哪个工作正常.但是,输入字符串的字符会导致问题.
在JavaScript中我只是将菜单变量与选项匹配:
if ( menu != 1 && menu != 2 && menu != 3 ){ menu = 4; // a switch later on will catch this.} 但是,这似乎不适用于C.
我该怎么办呢?
解决方法 你应该检查错误:int menu;if (scanf("%d",&menu) != 1){ /* error */ /* e.g.: */ menu = 4;} (成功时,scanf返回您要读取的项目数.)如何处理错误取决于您.您可以循环直到有有效值,或立即中止,或将变量设置为默认值.
另一种方法是用fgets读取整行输入,然后尝试对其进行标记和解释,例如:与strtok和strtol.
总结以上是内存溢出为你收集整理的c – 如何从用户获取一个号码全部内容,希望文章能够帮你解决c – 如何从用户获取一个号码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)