我试图将 stdin 中的 fgets 输入检测为空(当我按 Enter 键而不输入任何内容时)。这是我的程序:
int main()
{
char input[1000];
printf("Enter :");
fgets(input, 1000, stdin);
input[strlen(input) - 1] = '\0';
if(input != '\0'){
printf("hi");
}
return 0;
}
我想做某种条件使其不打印任何内容,但显然这种方式是不对的。我也尝试过NULL,但没有成功。
Thanks!
我认为这是最具可读性的(但性能不佳):
if (strlen(input) != 0) {
printf("hi");
}
但为了教学,这里是你的风格,但随后固定:
if (input[0] != '\0') {
printf("hi");
}
Why input[0]
?因为input
如果您像这样比较它,则其作用就像指向数组第一个元素的指针,并且您首先必须取消引用它以使比较有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)