Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
学习c的时候我不能答应_C - Fatal编程技术网

学习c的时候我不能答应

学习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!!");

我正在学习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;
}
#包括
#包括
//只是玩
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分钟。但它是有效的。。。非常感谢。