选择 Bint a[][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};相当于int a[][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 0, 0}};而 int * p = *(a + 1);表明 p 此时指向 5 所以要想输出9, p 需要 += 4;剩下就是 * 和 ++ 优先级的...
初值表只可以用于数组,不可以用于指针,而且只可以用于数组初始化时,不可以用于二次赋值。int a[2] = {1, 2}; //正确int *p = {1, 2}; //错误,初值表不可用于指针int a[2];a = {1, 2}; //错误,初值表只能用于数组定义时的初始化 记住...
址,也就是赋值给a[5],这个命令和a[5]=a[10];这个时候,数组的成员的值已经发 生 了变化,分别是a[]={1,2,3,4,5,11,7,8,9,10,11,12,};*/ q--; /* q由原来指向a[5].变成了指向a[4]所以 *q==5;*p==11 int *p=a+5;//p指向6q=p; //q指向...
从0开始赋值,第0个数,即a[0]为1,第1个数a[1]为2,依次类推,a[4]=5,而a[5]之后到a[9]没有给它赋值,它只好为0,可以理解为1楼所说的初始化,也可理解为相当于为假。不过,要注意,若说要输出a[10],已经超出这个数组的大小,或者理解为越界,运行结果是一个莫名其妙的数。int...
8( )7( ) 6( )5( )4( )3( )2( )1( )使得数是100 8×7+6×5+4×3+2×1=100 c++问题。有说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a+1; 则*(p+2)的值为( )。 p是个指标变数 初始是指向a[1] 应为单个的a是只阵列的第一个数a[0] 所以a+1就是指...
<pre t="code" l="bash">选择 B int a[][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};相当于<pre t="code" l="cpp">int a[][4] = { {1, 2, 3, 4},{5, 6, 7, 8},{9, 10, 0, 0} };而<pre t="code" l="cpp">int * p = *(a + 1);表明 p ...
错误就这 *q = NULL,赋初值就在这里 而 *q= *(p + 5); 是 给内存(指针所指地方)存数据 无法往 NULL 存数据吧 因为
选择D 数字只有10个元素,下标依次是0-9,下标为10是越界了 答案
a代表数组起始地址,也就是1的地址,a+10是0后面地址 a
for (i=1;i<9;i=i+2) 。。。求和 用: sum=sum+a[i];累加器 初值给0。程序如下:include<stdio.h> int main(){ int a[9]={1,2,3,4,5,6,7,8,9};int i,sum;sum=0;for (i=1;i<9;i=i+2) sum=sum+a[i];printf("sum=%d\n",sum);return 0;} 得 sum=20 该...