首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何阅读c++上的enter input

如何阅读c++上的enter input
EN

Stack Overflow用户
提问于 2013-03-17 21:32:40
回答 1查看 850关注 0票数 1

此函数将由菜单调用。

代码语言:javascript
复制
void exponentiation()
{

  int i, result = 0, first, second;

  printf("\n%s\n%s\n\n%s",
         "1) Exponentiation",
         "------------------",
         "Enter 1st integer: ");
  scanf("%d", &first);

  printf("Enter 2nd integer: ");
  scanf("%d", &second);

  printf("%d raised to %d equals %d\n", first, second, result);
  main();
}

从这个函数中,我需要读取用户输入,如果用户输入是不带任何整数的"enter“,它应该返回到调用main()的菜单。

我已经试过获取输入了。例如:

代码语言:javascript
复制
if(first == '\n')

{main();}

代码语言:javascript
复制
if(first == 10) /**which is 10 is ASCII code for enter**/

{main()}

两种方式都不起作用,有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-17 21:34:03

两种方式都不起作用,有什么建议吗?

函数scanf返回它成功扫描的项目数。你应该检查它的返回值,如果它不符合你的期望,就返回。

此外,您应该知道%d 会忽略空格。因此,如果用户在没有输入整数的情况下点击return,scanf就会跳过它,并等待其他内容。

如果您坚持不以这种方式忽略空格,则应该避免使用scanf,并使用其他输入方法,如fgets。逐行获取来自用户的输入,并使用sscanfstrtoulstrtok来理解它。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15461301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档