[单选题]以下程序的输出结果是 ( ) # define SQR (X) X*X main( ) { int a=16,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf("%d\n",a); }
正确答案 :B
2
[单选题]有以下程序: void f(int*q) {int i=0; for(;i5;i++)(*q)++; } main() {int a[5]={1,2,3,4,5},i; f(A); for(i=0;i5;i++)printf("%d,",a[i]); } 程序运行后的输出结果是( )。
正确答案 :B
6,2,3,4,5,
解析:解析:题目中定义了一个指针变量作为函数f()的参数。主函数main()中调用f()函数,当i=0时,执行语句“(*q)++;”,此处*q就代表数组a[0]的地址,也即将q进行加1操作;当i=1时,q仍指向数组元素a[0]的地址,因为在函数f()中并未对指针变量q做任何变动,即*q仍代表数组元素a[0]的值,所以此次(*q)++即为2+1,a[0]的值变为3;直到i=4时,执行(*q)++后a[0]的值变为6,最后输出数组a的结果为6、2、3、4、5。
[单选题]在下面的类定义中,错误的语句是( )。
正确答案 :H
③
查看原题