有以下语句,则对a数组元素的引用不正确的是(0<=i<=9)
int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A:a[p-a] B:*(&a[i]) C:p[i] D:*(*(a+i))
该题目的答案是D。我关键是对A和D不太理解,请高手帮忙分析一下。谢谢!
c语言问题,关于指针的问题
一、比如我们定义一个int型指针变量。int *p=NULL;初值为空。那么当执行while(p);时,只有p==NULL时,while循环才会结束。所以如果我们写while(p);printf。。。;那么只有当p为空时,后面的printf才会执行。否则就一直循环,这样我们就能判断p为空了。同理!p,自然就能判断p不为空了。二、p...
C语言指针的一个问题
(1) 第一个框里的代码 short* temp = *p1; 等价于下面的两条语句:short* temp;temp = *p1;所以,后面 p2=temp;和上面是一致的, 没错.(2)第二个框里的代码 没错, 指针就一个该指向指针, 但是你这里赋值一个值.这种做法是错误的, 不过对C语言来说, "错的"的意思是"不能保证正确", ...
一个C语言指针问题。求大佬解答?
在这个程序中,我们首先提示用户输入方阵的尺寸,然后输入方阵的元素。接着,我们通过遍历方阵的每一行,并使用指针指向每行对应列的元素,来求出方阵对角线元素之和。最后,我们输出结果。程序的输出示例如下:include <stdio.h> int main(){ \/\/ 方阵的尺寸 int n;printf("Enter the size of the m...
关于C语言指针的一个问题?
图中1处指针p没有初始化,它没有指向任何内存单元不能进行图中2处的赋值写入操作,这里会程序崩溃退出。
C语言指针的题目(怎么算的)
void fun(char *a,char *b){ a=b; \/\/ b覆盖了a的原值,也就是b和a都是指向同一个地方,存贮'a'的地方 (*a)++; \/\/a指向的内容加1,'a'变'b'。}
C语言关于指针的一题。
{ int a[]={2,4,6},*prt=&a[0],x=8,y,z; \/*定义整形数组a,把2、4、6依次存入数组a的前三个地址 中,定义一个整形指针prt,并把数组a中首地址的值赋值给 prt指向的地址中*\/ for(y=0;y<3;y++)z=(*(prt+y)<x)?*(prt+y):x; \/\/把prt指向的值与x进行比较,把小的...
关于C语言结构体指针的一个疑问?
出现此问题的原因在于链表创建create函数有问题,问题定位在图中红色框内。此处每个节点使用的是局部变量,函数结束后,局部堆栈虽然内容不会清除,但内存会被回收,如果其它地方也使用堆栈可能会分给它用,内存内容就会改变。正确的方式是申请堆内存。使用malloc函数,同时包含头文件#include<stdlib.h>。框内...
c语言——关于指针的题目
p[0],p[1],p[2],p[3]printf("%d\\n",p[3][2]);因为赋值的时候是把a[9]赋值给p[3]了,输出 p[3][2],也就相当于输出的a[9+2],也就是a[11]=12} 二楼的是不是有问题啊??并没有吧数据分成3x4的矩阵啊*p[0]包含12数据呢 后面的一次减少3个 新手随便说说啊 呵呵 ...
一个经典的c语言指针问题题目
for(p+m-1;p
问一个关于C语言指针地址的问题?
1 int a=100;2 int b=(int)&a;2、在定义变量语句中的int *b和表达式中的*b确实不代表同一个意思。int *b中的*和int一起代表一种整型的指针类型,你可以将int*作为一个整体来理解,它表示一种类型。表达式中的*b才是做指针运算的,表示取出b的值所表示的地址中的值(b所指向的地址中的值...