您的位置:首页 > 编程语言 > C语言/C++

C语言合法整数

2015-10-18 13:45 507 查看
刷题时,错了一道. 后来看了一下,想了一下,对于刷题时的我,再给我一次机会,这题也是必错的~

其实,刷题后,自己判断答案,还是上机自己实验一下,再得出结论,比较靠谱.

// 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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: