警告:指针和整数之间的比较。如果语句
Warning: comparison between pointer and integer. If statement
我不明白为什么这个存储用户答案的简单代码会返回此错误。
- 我想将答案保存到一个变量中
q_ai
并且能够在 if 中使用这个变量。
下面是我的代码:
//INPUT TRY 0
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//setting game:
char q_ai; //want to play against ai? question about ai.
int main(void)
{
printf("Do you want to play vs AI? \n Y/N? \n ");
scanf("%c",q_ai);
printf("q_ai == %c\n",q_ai);
printf("sizeof(q_ai): %d",sizeof(q_ai));
if(q_ai=="y") {
printf("you will play against AI");
}
if(q_ai=="n") {
printf("you will play 1v1");
}
}
我该如何解决这个问题?谢谢
您现在所拥有的是将字符与指向字符串的指针("y"
和 "n"
)进行比较。您需要将字符 q_ai
与字符('y'
和 'n'
)进行比较。
if(q_ai=='y') {
printf("you will play against AI");
}
if(q_ai=='n') {
printf("you will play 1v1");
}
我不明白为什么这个存储用户答案的简单代码会返回此错误。
- 我想将答案保存到一个变量中
q_ai
并且能够在 if 中使用这个变量。
下面是我的代码:
//INPUT TRY 0
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//setting game:
char q_ai; //want to play against ai? question about ai.
int main(void)
{
printf("Do you want to play vs AI? \n Y/N? \n ");
scanf("%c",q_ai);
printf("q_ai == %c\n",q_ai);
printf("sizeof(q_ai): %d",sizeof(q_ai));
if(q_ai=="y") {
printf("you will play against AI");
}
if(q_ai=="n") {
printf("you will play 1v1");
}
}
我该如何解决这个问题?谢谢
您现在所拥有的是将字符与指向字符串的指针("y"
和 "n"
)进行比较。您需要将字符 q_ai
与字符('y'
和 'n'
)进行比较。
if(q_ai=='y') {
printf("you will play against AI");
}
if(q_ai=='n') {
printf("you will play 1v1");
}