C 有没有办法把变量放在if语句的单引号或双引号内?

C 有没有办法把变量放在if语句的单引号或双引号内?,c,string,variables,if-statement,C,String,Variables,If Statement,我在比较if语句中的字符和字符串时遇到问题。 我正在尝试制作一个不太复杂的《刽子手》版本,我被困在这一部分。 我已经尝试了从strcmp()和strchr()以及其他方面的一切,但似乎没有任何效果 #include<stdio.h> #include<string.h> int main() { int length, i; int size=3; char word[size]="car"; char letter;

我在比较if语句中的字符和字符串时遇到问题。 我正在尝试制作一个不太复杂的《刽子手》版本,我被困在这一部分。 我已经尝试了从
strcmp()
strchr()
以及其他方面的一切,但似乎没有任何效果

#include<stdio.h>  
#include<string.h> 

int main() {  
    int length, i;
    int size=3;
    char word[size]="car";
    char letter;
    //const char* word="car";
    //const char* letter;
    int guess;
    length=strlen(word);

printf("The given word has %d letters.\n", length);
//do {
    guess=0;
    printf("Enter a letter:");
    scanf("%c", &letter);
    for (i=0; i<length; i++) {
        if (letter== 'word[i]' && guess==0) {
            guess=1;
        }
        /*if (strchr(letter, word[i])!=NULL && guess==0) {
            guess=1;
        }*/
    }
    if (guess=1) {
        printf("Correct letter.\n");
    }
    else {
        printf("Wrong letter.\n");
    }
//} while ();
}
#包括
#包括
int main(){
int长度,i;
int size=3;
字符字[size]=“car”;
字符字母;
//const char*word=“car”;
//常量字符*字母;
智力猜测;
长度=strlen(字);
printf(“给定单词有%d个字母。\n”,长度);
//做{
猜测=0;
printf(“输入字母:”);
scanf(“%c”和字母);

对于(i=0;i而言,
word[i]
letter
都属于
char
类型,因此只需对它们进行比较即可

if (letter==word[i] && guess==0) {
其他错误:

scanf("%c", &letter);
在模式的开头需要一个前导空格来容纳任何空格,否则最终将读取换行符

scanf(" %c", &letter);
此外:

这是作业,不是比较。您想要:

if (guess==1) {
此外:

数组不够大,因为没有空间容纳空终止字符。在这种情况下,只需忽略大小,编译器将使用正确的值

char word[]="car";

word[i]
letter
都属于
char
类型,所以只需对它们进行比较即可

if (letter==word[i] && guess==0) {
其他错误:

scanf("%c", &letter);
在模式的开头需要一个前导空格来容纳任何空格,否则最终将读取换行符

scanf(" %c", &letter);
此外:

这是作业,不是比较。您想要:

if (guess==1) {
此外:

数组不够大,因为没有空间容纳空终止字符。在这种情况下,只需忽略大小,编译器将使用正确的值

char word[]="car";

char-word[3]=“car”
-哦,那不行。你需要4个字符来存储字符串“car”。记住,空终止符需要一个额外的字符。你确定你的代码行吗?哦,我不行,看这行
字母==“word[i]”
char-word[3]=“car”
-哦,那不行。你需要4个字符来存储字符串“car”。记住,空终止符需要一个额外的字符。你确定你的代码可以工作吗?哦,我不行,看这行
字母=='word[i]'