#include<stdio.h>
int main(void)
{
char name[40];
scanf("%s",name);
if(name == "yes")
{
printf("%s",name);
}
return 0
}
您需要使用strcmp
进行字符串比较。
更换
if(name == "yes")
带
if(strcmp(name,"yes") == 0)
strcmp
返回
0如果两个字符串相同(相等(
如果第一个不匹配字符的ASCII值小于秒,则为负值。
如果第一个不匹配字符的ASCII值大于第二个。
==
不是为字符串(或任何其他数组(比较定义的-您需要使用标准库函数strcmp
来比较字符串:
if ( strcmp( name, "yes" ) == 0 )
或
if ( !strcmp( name, "yes") )
strcmp
有点不直观,因为如果字符串内容相等,它会返回0,所以测试的感觉会出错。如果第一个字符串在字典上小于第二个字符串,则返回负值;如果第一个串在字典上大于第二个,则返回正值。
您需要#include <string.h>
才能使用strcmp
。
要比较不是字符串的数组,请使用memcmp
。