{char x=040;
printf("%d",x=x<<1);
}
<<是位移运算符,main()
printf("%c",x=x<<1);
}这样应该可以
这个题是不是该这么理解首先x定义的是字符型的,所以x是字符;040是八进制的数,十进制的值为32,这时应该是指将ASCII码为32的字符(即空格)赋给x。<<是按位左移运算符,按照十进制的想法来看就是将ASCII乘2,则x的值变为64D所以按照%d输出得64按照%c输出得"@"
同意楼上!