刷题时,错了一道. 后来看了一下,想了一下,对于刷题时的我,再给我一次机会,这题也是必错的~
其实,刷题后,自己判断答案,还是上机自己实验一下,再得出结论,比较靠谱.
// testvc6.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
void fnTest();
int main(int argc, char* argv[])
{
fnTest();
getchar();
return 0;
}
void fnTest()
{
/**
以下选项中可以作为C语言合法整数的是(C)
A) 10110B
B) 0386
C) 0Xffa
D) x2a2
*/
int iTemp = 0;
/// C语言中无法直接表示二进制数, 需要用16进制数来表示2进制数
// iTemp = 10110B; ///< error C2059: syntax error : 'bad suffix on number'
iTemp = 0x16;
/// 以0开头的数表示的是8进制数, 而8进制数中是没有8的, 因为将要出现8就进位了
// iTemp = 0386; ///< error C2041: illegal digit '8' for base '8'
iTemp = 386;
iTemp = 0xffa; ///< 在工程中经常用0xXX表示16进制数
iTemp = 0Xffa; ///< 但是0X也表示16进制数
/// x2a2 赋值到一个整数,明显是错的.没有x这个数, 只有0x表示16进制数
// iTemp = x2a2; ///< error C2065: 'x2a2' : undeclared identifier
iTemp = 0x2a2;
}