Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何结束我的主要功能?_C - Fatal编程技术网

C 如何结束我的主要功能?

C 如何结束我的主要功能?,c,C,如果用户输入的值超出范围,我想结束我的主函数。出于某种原因,这似乎不起作用 fscanf(stdin, "%d", &T); if(!(T >= 1 || T <=500)) exit(0); 执行此操作的最佳方法是什么?对于T的任何值,T>=1 | | T=1 | | T这可能是因为您输入的值介于1和500之间。尝试打印扫描的值。尝试 if(T <= 1 || T >=500)) return 0; 让我们来分发这些文件吧!德摩根定律,其原因应该

如果用户输入的值超出范围,我想结束我的主函数。出于某种原因,这似乎不起作用

fscanf(stdin, "%d", &T);

if(!(T >= 1 || T <=500)) exit(0);

执行此操作的最佳方法是什么?

对于T的任何值,T>=1 | | T=1 | | T这可能是因为您输入的值介于1和500之间。尝试打印扫描的值。

尝试

if(T <= 1 || T >=500)) 
    return 0;
让我们来分发这些文件吧!德摩根定律,其原因应该更清楚:

 if(!(T >= 1) && !(T <=500)) exit(0);
然后

换句话说,条件永远不会满足

你只需要

 if(T < 1 || T > 500)

你的陈述对任何数字都是正确的,而且在之后!总是假的。想想看。@I或者你是对的,我才意识到。谢谢你。@Tom Fenech-不,不是。如果你传递一个值为501的T,那么OP的初始条件就没有意义了。OP条件中的| |很可能是错误的。@TomFenech否,逻辑等价形式需要将| |转换为&。
int main() //instead of void main() or just main()
 if(!(T >= 1) && !(T <=500)) exit(0);
 if(T < 1 && T > 500) exit(0);
 if(T < 1 || T > 500)