紧急请问有关c问题?希望你们好心帮帮忙! 第一个 int a=1234;a=a&0377;printf("%d %o\n",a,a); 第二个 设有以下宏定义,则执行语句a=PP*20(a为int整型变量)a的值 是() #define PR 80 #define PP PR+403 请问高手们怎么算出来的阿谢谢谢谢了!!!
1.A=1234,A是十进制数,转换为二进制数为10011010010.而0377为八进制数(以0开头),转换为二进制数为11111111,A=A&0377,进行逻辑与运算,结果为A的后八位,即11010010.分别以十进制和八进制数输出为210,322;
2.A=PP*20=PR+403*20=80+403*20=8140; 注意DEFINE只是字符替换,不会自动加( )的第二个是不是搞错了,是A=PP*20,还是A=PP*2.