发布网友 发布时间:2024-10-24 04:08
共5个回答
热心网友 时间:2024-11-06 12:52
楼主在C语言中字符是可以当成整形来参与运算的,其原因是因为字符在计算机的内部是按ASCII 码来存储的,‘A’是65,‘B’是66,‘0’是48,因此该赋值语句可看成B=66-65+48,这样B就是49,若B直接按%d输出,则显示49,若按%c输出,则49对应的字符是‘1’所以输出的是1。当然字符在屏幕上输出的时候是不带‘’的,所以可能让你误以为这个1不是字符。
热心网友 时间:2024-11-06 12:55
"1"也是一个字符啊,不要把数字和字符搞混了哈。
printf("%d\n", a); 你在代码中加入这么一行,就会发现输入字符1对应的数值(49)
热心网友 时间:2024-11-06 12:50
这里的1就是字符
a=a-'A'+'0'; a 的值是 B(ASCII代码就是66) a-'A'结果就是1 再加上'0'
所得的就是字符1
热心网友 时间:2024-11-06 12:53
主要原因是 ‘0’ 并不是0, 而是48
热心网友 时间:2024-11-06 12:54
你可以去查查这里
http://baike.baidu.com/view/15482.htm
字符'1'对应的数是49