本文目录一览:
- 1、为什么在C语言中,字符型不能用SCANF输入,而是用GETCHAR?
- 2、为什么在c语言中字符型数据与整形数据之间可以通用
- 3、在C语言中,字符型数据和整型数据可以相互通用吗?如果说可以但又不可以,那是什么情况呢?
- 4、c语言字符串为什么可以运算?
- 5、为什么C语言的字符型可以进行数值运算
- 6、C语言中,为什么字符串可以赋值给字符指针变量
为什么在C语言中,字符型不能用SCANF输入,而是用GETCHAR?
字符型可以用scanf输入,只不过在循环的输入,或者连续多个输入单个字符时,使用scanf处理不好会出些问题。
如果处理单个字符的话, 一般在scanf语句后还要加一条getchar语句;来接受回车键。例如:
char c;
scanf("%c",c);
getchar();
其实使用getchar();一般也是连续用两次。
为什么在c语言中字符型数据与整形数据之间可以通用
因为字符是以ASCII码(对应二进制)的形式储存的 所以可以通用
在C语言中,字符型数据和整型数据可以相互通用吗?如果说可以但又不可以,那是什么情况呢?
字符型数据可以和整型数据通用。
C语言的字符型数据,其实就是整型数据的一种,只不过其特殊之处是可以用来表示字符。存储字符时,实际存储的值为该字符的ascii码值。除输入输出时,char类型的计算与整型相同。
char占1字节,其表示范围为-128~127,由于C语言对char运算的规则和存储的方式,均与其它整型相同,所以可以把char当做是范围最小的整型,字符型数据也就可以同整型数据通用了。
c语言字符串为什么可以运算?
‘A’也是一个数值,具体是多少你可以查看
ASCII表
,当两个不同类型的数值运算时,低位的数值会转换为高位的数值再进行相加,如char是8位的,int是16位的,所以’A‘将先转换为int型,再与5相加,然后得到F所对应的
ASCII编码
。
为什么C语言的字符型可以进行数值运算
C语言允许不同类型数值可以进行混合运算 运算时为了满足运算精度会自动转换数据类型为同一数据类型再计算 具体是char,short-int-unsigned-long,float-double
C语言中,为什么字符串可以赋值给字符指针变量
C中没有字符串变量,所以说“字符串可以赋值给字符
指针变量
”是无稽之谈。C中的字符串处理是用
字符数组
完成的,可以把承载字符串的字符数组的首地址(第一个字符的地址)赋给一个字符型指针(实质就是把一个
字符变量
的地址赋给一个字符型指针,所以是匹配的),而字符串本身是不能整体赋给任何变量的!