写 C 语言代码总出错?字符字面值类型陷阱要小心!

在C语言中,字符字面值并不是字符类型!

我曾经编写过一个类似下面这样的程序。但我犯了一个小错误,这让我发现了一些有趣的东西。

#include <stdio.h>
int main()
{
  char ch[256];
  scanf("%s", ch);
  if (ch == 'a') {
    printf("Your sentence begins with %c.\n", *ch);
  }
  return 0;
}

在这段代码中,我本想从标准输入读取一个字符串,检查它是否以字符字面值'a'开头,如果是,就打印一些内容。

扫描二维码关注微信公众号,回复密码,即可获取密码

阅读剩余
THE END