繁体   English   中英

如何读取c上的输入输入

[英]how to read enter input on c

该功能将由菜单调用。

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()的菜单。

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

if(first == '\n')

{main();}

要么

if(first == 10) /**which is 10 is ASCII code for enter**/

{main()}

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

两种方式根本不起作用,任何建议

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


你也应该知道%d忽略空格 因此,如果用户在不输入整数的情况下返回,则scanf只是跳过它并等待其他内容。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM