我试图从用户那里获取字符串输入,然后根据他们输入的输入运行不同的函数。
例如,假设我问:“你最喜欢的水果是什么?”我希望程序根据他们输入的内容进行评论...我不知道该怎么做。这是我到目前为止所拥有的:
#include <stdio.h>
#include <string.h>
char fruit[100];
main() {
printf("What is your favorite fruit?\n");
fgets (fruit, 100, stdin);
if (strcmp(fruit, "apple")) {
printf("Watch out for worms!\n");
}
else {
printf("You should have an apple instead.\n");
}
}
当我运行该程序时,无论我输入什么,它都不会执行 else 语句。
感谢您的帮助!
请注意代码中的两件事:
- fgets 保留尾随 '\n'。在与字符串“apple”进行比较之前,fruit 中的相关字符应替换为“\0”。
- 当两个字符串相同时,strcmp返回0,因此if子句应该根据你的意思进行更改。(if子句中的fruit和“apple”是等效的)
- C main 函数的标准用法是
int main(){ return 0;}
修改后的代码:
#include <stdio.h>
#include <string.h>
char fruit[100];
int main() {
printf("What is your favorite fruit?\n");
fgets (fruit, 100, stdin);
fruit[strlen(fruit)-1] = '\0';
if (strcmp(fruit, "apple") == 0) {
printf("Watch out for worms!\n");
}
else {
printf("You should have an apple instead.\n");
}
return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)