c – 如何从用户获取一个号码

c – 如何从用户获取一个号码,第1张

概述我只是学习C,并且到目前为止已经使用 javascript和php等语言工作,我无法将我的一些思考步骤转换为C语言的可能性.我正在编写的程序(听起来比实际更大)使用一个输入菜单,让用户选择一个选项.选项可以是1,2或3. 现在,我正在做: int menu;scanf("%d", &menu); 哪个工作正常.但是,输入字符串的字符会导致问题. 在javascript中我只是将菜单变量与选项匹配 我只是学习C,并且到目前为止已经使用 javascript和PHP等语言工作,我无法将我的一些思考步骤转换为C语言的可能性.我正在编写的程序(听起来比实际更大)使用一个输入菜单,让用户选择一个选项.选项可以是1,2或3.

现在,我正在做:

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 – 如何从用户获取一个号码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1214437.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存