计算机二级考试c中遇到这样一道题,求答案和详细解题过程。
#include<stdio.h>intmian(void){charx=020,y=04;x>>=1;y<<=2;printf("%o",x^y);return0;}为...
#include<stdio.h>
int mian(void)
{
char x=020,y=04;
x>>=1;
y<<=2;
printf("%o",x^y);
return 0;
}
为什么我手动算来和运行结果不一样呢? 展开
int mian(void)
{
char x=020,y=04;
x>>=1;
y<<=2;
printf("%o",x^y);
return 0;
}
为什么我手动算来和运行结果不一样呢? 展开
1个回答
展开全部
更多追问追答
追问
char 不是字符型吗?为什么x能被赋值成八进制下二十, 而不是‘0’‘2’‘0’单个字符?
追答
0开头的数字就是默认表示8进制,char字符型其实只是说给该变量分配了一字节内存空间,如果是赋值单字符,应该是x='0',且只能赋值一个,打印的是你可以打印成字符,也可以打印成数字。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询