这几天cong牛在研究c++。。。为什么呢~ 因为高考完要参加Prof. Guo的个什么ACM类竞赛。。。要用c++的。
实在是c++高深莫测非我等小辈能企及……对许多c++认识问题上的疑难杂症,由于种种原因,未能得到正确认识。且Sinya和slxg神牛亦没能及时纠正。出现这样的错误,我深表痛心,在此对c++语言表示最诚挚而沉痛的歉意。同时应当指出,二位神牛应该负一定的责任。
有关若干疑难杂症的说明:
1. c / c++确实有halt类型的函数。
很遗憾在场的phoeagon,slxg和Sinya都没能正确给出答案。野牛甚至提出了利用多个bool flag和if层层退出的设计方案。
实际上,c/c++有一个类似于pascal的halt的函数。
引用cstdlib库,有个exit(int returncode)的函数。用于结束整个程序,并返回一个值。
正常返回应该返回0.
另一个类似功能的是abort,但是abort返回一个“异常终止”的信息。
2. GNU c确实可以nested functions
作为GCC的一个拓展,GNU C支持嵌套函数定义。但GNU C++不支持。
3. 各类不能确认运算顺序的语句
scanf("%d%d%d",&a,&b,&f[a][b]);的未定义结果
s=(++i)+(i++)+(i++)+(++i)的运算顺序。
事实上,C语言创始人明确指出这种属于未定义行为编译器应该给出一个warning。事实上GCC/G++确实会给个warning。
很可惜这据说是天朝的c语言课程考试重点。
其他解答内容暂时未发现有明显错误。
|