学习c的时候我不能答应
我正在学习c,我想用一个字符做一个yesno。这是我的密码: 我试过这个学习c的时候我不能答应,c,C,我正在学习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!!");
#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;
}
#包括
#包括
//只是玩
int main()
{
char yesno;
printf(“是/否测试”);
scanf(“%c”、&yesno);
如果(是否=“y”){
printf(“你做了是的!!”);
}else if(yesno==“n”){
printf(“你没有!”;
}否则{
printf(“无效!!!”);
}
返回0;
}
它会自动跳转到其他位置
这是为什么
更新:我不知道这是一个重复。idk双引号和单引号在这里之前是什么
yesno == "y"
您正在将字符yesno
与字符串“y”
进行比较。应该是
yesno == 'y' /* use single quotation instead of double quotation */
旁注:编译代码时一定要使用最少的以下标志&不要忽略警告,处理这些警告。例如
gcc -Wall -Wstrict-prototypes -Wpedantic -Werror test.c
其中,
Werror
将警告转换为错误并停止编译,以便您不应跳转到输出并强制您读取并解决编译器错误消息。经验教训:永远不要忽略编译器警告。
用“y”代替“y”
这将起作用:)快乐的学习
#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;
}
#包括
#包括
//只是玩
int main()
{
char yesno;
printf(“是/否测试”);
scanf(“%c”、&yesno);
如果(yesno=='y'){
printf(“你做了是的!!”);
}else if(yesno=='n'){
printf(“你没有!”;
}否则{
printf(“无效!!!”);
}
返回0;
}
要比较C语言中的两个字符串,应使用strcmp
函数。祝你好运。单引号和双引号是有区别的。单引号指定单个字符,双引号指定字符串。你的是没有
是一个字符,因此你应该将它与'y'
和'n'
进行比较。我不能接受你的答案,你只需回答4分钟。但它是有效的。。。非常感谢。