c语言判断输入的字符串?

定义一个 char a[5],并且scanf一个字符串给a,判断输入的a是否为“AC”,如果是,输出yes,否则输出no

这是跟汉字的存储方式有关,西文字符用ASCII码的话,一个字节可以表示一个字符,而汉字用的是双字节表示一个汉字。
那么,为了在机器内部区分ASCII码和汉字机内码,就规定汉字的两个字节的最高为都为1.

例如:汉字“啊”的汉字机内码为B0A1H
表示成双字节是这样的10110000 10100001

本程序用的就是判断最高位的方法。

int is_zh_ch(char p)
{

if(~(p >> 8) == 0) 将p字节进行移位运算,右移8位,这样,如果移位后是0,则说明原来的字节最高位为0,不是1那么也就不是汉字的一个字节。
{
return 0; //代表不是汉字
}

return -1;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-25
int main()
{
char a[5] = { 0 };
scanf_s("%s", a, 5);
if (!strcmp(a, "AC"))
{
printf("yes\n");
}
else
{
printf("no\n");
}

system("pause");
}本回答被提问者和网友采纳
相似回答