cc语言改程序输出结果是什么并解释(求详细解释)

cc语言改程序输出结果是什么并解释(求详细解释)#include<stdio.h>
void main()
{
union
{
int ig[4];
char a[8];
}t;
t.ig[0]=0x4241;
t.ig[1]=0x4443;
t.ig[2]=0x4645;
t.ig[3]=0x0000;
printf("\n%s\n",t.a);
}

输出结果:c language

解释:
#if LETTER
if(c>='a'&&c<='z') c=c-32;
#else
if(c>='A'&&c<='Z') c=c+32;
#endif
这段是指当LETTER的值为真(非零)时执行第一个程序段if(c>='a'&&c<='z') c=c-32;否则执行第二个程序段if(c>='A'&&c<='Z') c=c+32;
这里宏定义#define LETTER 0已将LETTER的值置为0,故执行第二个程序段,即把A到Z中的大写字母转换为小写字母(小写字母的ASCII码比大写字母的大32),其他不变,所以C Language变成了c language.
温馨提示:答案为网友推荐,仅供参考
相似回答