This question already has answers here:
Single quotes vs. double quotes in C or C++
(12个答案)
2年前关闭。
我正在尝试学习c,我想用一个字符做yesno。这是我的代码:
我试过了
它会自动跳到其他
为什么是这样
更新:我不知道这是重复的。 idk是什么双引号和单打之前
您正在将一个字符
旁注始终以最少低于标志的形式编译您的代码,并且不要忽略警告,对这些警告进行操作。例如
其中
(12个答案)
2年前关闭。
我正在尝试学习c,我想用一个字符做yesno。这是我的代码:
我试过了
#include <stdio.h>
#include <stdlib.h>
//just playing
int main()
{
char yesno;
printf("TEST [Y/n] ");
scanf(" %c", &yesno);
if(yesno == "y") {
printf("You did yes!!");
} else if(yesno == "n") {
printf("You did no!");
} else {
printf("Not valid!!!");
}
return 0;
}
它会自动跳到其他
为什么是这样
更新:我不知道这是重复的。 idk是什么双引号和单打之前
最佳答案
这里
yesno == "y"
您正在将一个字符
yesno
与字符串"y"
进行比较。它应该是yesno == 'y' /* use single quotation instead of double quotation */
旁注始终以最少低于标志的形式编译您的代码,并且不要忽略警告,对这些警告进行操作。例如
gcc -Wall -Wstrict-prototypes -Wpedantic -Werror test.c
其中
Werror
将警告转换为错误并停止编译,因此您不应跳转到输出并强迫您阅读和解决编译器错误消息。关于c - 我不能在学习c的时候答对了,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53919534/
10-11 21:01