C语言问题 急救!!!

发布网友 发布时间: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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com