c语言的表达式

来源:百度知道 编辑:UC知道 时间:2024/05/19 00:26:12
main()
{ char x;
scanf("%c",&x);
if(x=='A')
printf("verygood\n");
if(x=='B')
printf("good\n");
if(x=='C')
printf("bad\n");
}
请问为什么if(x=='A')不能写成if(x==A),if语句表达式不是可以写变量的吗?那怎么我在TC上运行if(x==A),是错的,请大家帮我解答我的疑惑

写成if(x=='A')表明A是一个字符常量而写成if(x==A)表明A是一个变量,在这里显然是需要一个字符常量了。改成后一种以后由于作为变量的A没有被声明,而C语言的基本要求是变量必须要先声明后使用,所以改为后一种以后再TC上运行会报错了。

'A'是一个char型的,而A什么都不是!

如果你前面定义了
char A;
A='A';


if(x==A)就可以了

因为首先你A这个变量你没有声明和定义

一个是代码,一个是字母本身,但是遗忘太久了,所以只能帮你解释道这一步了,呵呵

写成if(x=='A')表明A是一个字符常量而写成if(x==A)表明A是一个变量,在这里显然是需要一个字符常量了。改成后一种以后由于作为变量的A没有被声明,而C语言的基本要求是变量必须要先声明后使用,所以改为后一种以后再TC上运行会报错了。 如果你前面定义了
char A;
A='A';


if(x==A)就可以了

因为首先你A这个变量你没有声明和定义