永发信息网

C语言考试,有几道选择题没搞懂

答案:2  悬赏:40  手机版
解决时间 2021-01-18 11:54
  • 提问者网友:树红树绿
  • 2021-01-18 04:56
C语言考试,有几道选择题没搞懂
最佳答案
  • 五星知识达人网友:撞了怀
  • 2021-01-18 06:30
数组变量声明时的数组尺寸可以是变量,但必须是常数变量,这样才能确定数组尺寸并分配空间,所以第一个选项选A。
++和--操作符前置和后置的效果是同的,前置时表示先操作再赋值,后置是先赋值后操作;
数组下标不能越界,只能是0~N-1;
(int)((double)(3/2)+0.5+(int)1.99*2)=(int)((double)((3/2)+0.5+(int)1.99*2))
=(int)((double)(1+0.5+1*2))=(int)(3.5)=3;
显然是3,从fun(x,y,a)就可以看出来,从嵌套的调用看也是这样;
你的错觉来自于vc对c++预编译中的处理方法,好像当包含stdafx后,#include 是合法的,但标准C和C++要求必须指定全文件名。

全部回答
  • 1楼网友:举杯邀酒敬孤独
  • 2021-01-18 07:59
5151:定义数组时,下标不能为变量
3128:i=x--;x是后减,先计算,计算之后再自减
5127:数组下标是从0开始的
3116:因为a=(int)((double)(3/2)+0.5+(int)1.99*2);强制转换只转换离运算符最近的数值,否则将要进行强制转换的表达式加个括号
6118:该函数是嵌套调用,函数参数应该看最外层循环里面有几个逗号
7113:D:.h不是必须的,可以省略。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯