C 有没有办法把变量放在if语句的单引号或双引号内?
我在比较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;
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]'