在c语言中,如果c1定义为int,当附值是,c1=a,最后运行不成,是为什么啊?

来源:百度知道 编辑:UC知道 时间:2024/06/20 13:43:57
谁能教教我呀,拜托了!!!!
#include<stdio.h>
void main()
{int c1,c2;
c1=a;
c2=b;
printf("%c,%c\n",c1,c2);
printf("%d,%d\n",c1,c2);
}说明原因,是不是定义是整型,而a是字母????

不是因为a是字母,你这么写的时候编译器会把a当成一个变量——一个没有定义,没有赋值的变量。
你写成
c1='a';
c2='b';
就行了
双引号不可以,双引号就成了字符串了。单引号才是字符

void main(){
char c1;
char c2;
c1='a';
c2='b';
printf("%c,%c\n",c1,c2);
printf("%d,%d\n",c1,c2);
}

a 需要加上“”双引号

后面用%输出数值型也可以

INT型怎么能赋值成字母呢,要么把a和b设置为变量,再给他们赋整数值,要么把c1,c2改成char型

你那个A和B连值都没有 连定义都没有 通过才怪呢