问一道关于C程序的题!

来源:百度知道 编辑:UC知道 时间:2024/06/25 19:25:05
用下列语句定义变量,执行“b=a;c='b'+b;”
后,b、c的值是long a=0xffffff;
int b;char c;
A、0xffffff和0x61 B、-1和98
C、-1和97 D、指向同一地址

#include "stdio.h"
main()
{
long a=0xffffff;
int b;char c;
b=a;c='b'+b;
printf("%d,%d",b,c);
}

结果:-1,97

C

我觉得应该选A
用下面的C程序运行一下就知道了。
#include <stdio.h>
void main()
{
long a=0xffffff;
int b;
char c;
b=a;
c='b'+b;
printf("%d %c\n",b,c);
}
运行后结果为:16777215 a
所以应该选A,因为0xffffff,0x61分别是16777215,a的十六进制数。
至于详情可以参考这里:
http://baike.baidu.com/view/468813.htm