【发布时间】:2015-08-17 14:40:40
【问题描述】:
我想问用户是否想要“经典模式”或“高级模式”,我将答案保存在变量中并尝试在 IF 语句中使用它,但它不起作用,让我例如显示我的这部分代码:
int mode;
printf("\n Pick the desired mode: ");
scanf("%i",&mode);
if(mode=="Classic"){
printf("It worked!");
system("pause");
}
if(mode=="Advanced"){
printf("It worked!");
system("pause");
}
问完就直接走到最后,返回值接近20亿……
我以为我得到了错误,因为是变量中的一个值,然后我尝试了一个字符串,但我得到了相同的结果!
@EDIT ===============================
好的,谢谢大家的帮助,你们在 StackOverflow 上的速度很快!
最后,这是使用strcmp 时最愚蠢的事情,易于理解且易于使用,已修复所有问题...
我不知道这个,如果我之前知道它会节省很多时间!
【问题讨论】:
-
您将
int与char*进行比较。这是错误的。将mode设为字符数组,更改scanf中的格式说明符,然后使用strcmp或strncmp比较来自string.h的字符串。 -
嘿?将
int与char *合并?先读基本的 C 书,先生。
标签: c string string-comparison