关于带有 prinf 函数的输入输出的 C 语言我完全键入是,但为什么我看不到输出?


#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返回

  1. 0如果两个字符串相同(相等(

  2. 如果第一个不匹配字符的ASCII值小于秒,则为负值。

  3. 如果第一个不匹配字符的ASCII值大于第二个。

==不是为字符串(或任何其他数组(比较定义的-您需要使用标准库函数strcmp来比较字符串:

if ( strcmp( name, "yes" ) == 0 )

if ( !strcmp( name, "yes") )

strcmp有点不直观,因为如果字符串内容相等,它会返回0,所以测试的感觉会出错。如果第一个字符串在字典上小于第二个字符串,则返回负值;如果第一个串在字典上大于第二个,则返回正值。

您需要#include <string.h>才能使用strcmp

要比较不是字符串的数组,请使用memcmp

最新更新