用 C 语言编程:如果写在里面,则退出无限循环
Posted
技术标签:
【中文标题】用 C 语言编程:如果写在里面,则退出无限循环【英文标题】:Programming in C: Exit endless loop if written inside 【发布时间】:2016-12-09 18:15:06 【问题描述】:如果添加了新关系,我将需要退出此循环! 只要为空或按“Enter”,就需要继续。
CODE:
static char input[100];
int main()
printf("Press Ctrl+c to Exit!\n");
while(1)
//Input (stdin) and output (stdout) declared in <stdio.h> library
fputs("esp>", stdout);
fgets(input,100,stdin);
if(input != 0) //here I can not change it !!!
return 1;
return 0;
输出:
Press Ctrl+c to Exit!
esp> (If "enter" is pressed) keep going
esp>
esp> s ( if something wrong is written, exit) else, keep going
【问题讨论】:
我不明白你的问题是什么。听起来您想根据某些条件退出循环,但您的代码已经在这样做了。这就是if
语句的作用;如果input !=0
,它会跳出循环并立即返回1。否则,它会一直循环。那么……你的问题是什么?代码的哪一部分不起作用?
你知道你可以用break;
打破循环,是吗?所以你应该澄清你的问题是什么
@IngoLeonhardt esp> s(如果写错了,退出)否则,继续我需要程序在 while 循环中,只要没有输入
if( strcmp( input, "\n" ) != 0 ) ...
? (win 中可能是 `"\r\n")
@CodyGray 如果条件无法正常工作。只要它为空,我就需要 while 循环运行。否则,我需要它退出,然后做其他事情。
【参考方案1】:
如果你只是想检查空输入,试试这个?
while(1)
fputs("esp> ", stdout );
fgets( input, 100, stdin );
if( input[0] != '\n' && strlen(input) )
// Do something with input
【讨论】:
以上是关于用 C 语言编程:如果写在里面,则退出无限循环的主要内容,如果未能解决你的问题,请参考以下文章
RecyclerView里面嵌套一个无限循环的横向列表该怎么做
C 语言文件操作 ( 配置文件读写 | 框架搭建 | 主函数逻辑结构 | 启动无限循环 | 接收用户操作值 | 宏定义 | 显示操作菜单 )