int a[2][3],*p[3],则以下赋值语句正确的是
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 04:01:34
输出:3n=fun(x)//x=2,fun函数中:a=a*x=3*2=6,return后,n=6n=fun(y)//y=1,fun函数中:a=a*x=3*1=3,return后,n=3
p是一个整型指针的数组,C正确(D你没有写完整吧)
值为1a>b为真即1,又1=1,所以也为真,得最终为1
数组的下标是从0开始的所以a[1]是指数组中的第二个数,以此类推.所以a[1]=a[3]+a[2+2]-a[3-1];=a[3]+a[4]-a[2]=4+5-3=6最后为6
2维数组a[3][4]={{1,3,5,7}{9,11,13,15}{17,19,21,23}}这样子可能楼主清楚些,int(*p)[4]=a也就是把a2维数组赋给2维指针p,接下来执行循环首先i=0
*p=a[0],*a,*(a+0),p[0]都是数组的第一个元素1*(p+2),*(a+2),a[2],p[2],都是数组的第三个元素3a和p的差别就是a指针是常量无法做改变指针值,p是变量
因为a=3,所以a1是对的(1).所以a1是0,a=2选a
#includevoidmain(){inta=3,b=4,c=5;a++>b--&&b++>c&&++c;printf("a=:%d\n",a);printf("b=:%d\n",b);printf
你的语句等同于inta=9,b=8,c=7,x=1;if(a>7)if(b>8){if(c>9)x=2;elsex=3;}这样就清晰了吧b=8,所以根本就没有进入下面的if语句;所以x依然为1;如果是
逗号表达式从左往右计算,返回最后一个表达式的值.a*=2后a=4,返回a+1=5
p1是指向数组a的首地址的指针,p2为空指针.因为p2为空指针,所以p2取反为真.(即!p2的值为真).p1不为空,所以不管他指向哪,都为真.所以p1,!p2,为真,p2,p1&&p2为假.p1指向数
500再问:能具体点吗?过程!再答:先采纳再问:已经采纳!能给个过程不?再问:救急啊!再答:哈哈再答:我也不知道
答案为cpt->x=10;++pt->x=11;再问:为什么pt->x=10,而不是等于20呢再答:pt此时指向c[2]这个数组中的的第一个
p是一个一位数组的地址,&a取到的是a这个二维数组的地址,两者的地址是不同的.这里有一个行地址、列地址的概念.再问:那么a[1][2]就不是二维地址吗?再答:不是了,这么说吧,a是一个二维数组,a[1
因为a[3][2]是表示数组的第21个元素*(p+20)也是表示第21个元素A,C,D的表示是错误的
选C。A错,因为浮点型不能用在switch中。B错,本来将浮点型强制转换为整型之后用switch是可以的,但它在swich((int)x)后面多了个分号。C对,a+b的结果也是整型,没问题。D错,因为
#include"stdio.h"voidmain(void){inta[10]={11,52,63,17,21,58,71,42,3,16};inti,j,d;for(i=0;i