下面的程序定义一个整型指针p,指向数组a,数组名a与&a[0]是等价的,也就是*p等价于数组的第一个元素a[0]。然后在for循环中,输出*p,然后指针p自加运算,指向数组的下一个元素,这样就输出数组a中的各个元素了。include<stdio.h>#include<stdlib.h>int main(){int a[10]={15,76,88,38,2...
通过指针变量输出整型数组a的10个元素。 解:程序: #include<stdio.h> int main() { int i, a[10], *p=a; printf("please enter 10 integer numbers:"); for (i = 0; i < 10; i++) { scanf("%d", p++); } p = a; for (i = 0; i < 10; i++, p++) { printf("%3d", *p)...
int main(void){ int array[10],i,j;int *p,min;for(i=0;i<10;i++){ printf ("请输入数%d:",i);scanf("%d",&array[i]);rewind(stdin);//清空键盘缓冲区 } p=array;for(i=0;i<10;i++){ for(j=i;j<10;j++){ if (*(p+i)<*(p+j)){ min=*(p+j);(p+j)=...
首先将ptr指向数组 此时你在操作指针的时候其实就是在向数组所占用的内存里面写值 在第一次循环之后 ptr 已经偏移到数组的最后一个地址去了 此时的*ptr = a[9]所以在输出之前从新将ptr指向数组的首地址 也可以写成ptr -= 10;
include<stdio.h> int main(){ float a[10]={0,1,2,3,4,5,6,7,8,9};float *ptem=NULL;int i=0;ptemp=a;for(i=0;i<10;i++)printf("%f\n",*(ptemp+i));return 0;} cygwin环境下实测可行
include<stdio.h> int main(){ int i;float a[10];float *p;for(i=0;i<10;i++)scanf("%f",&a[i]);p=a;for(i=0;i<10;i++)printf("%f",*p++);return 0;}
int *a;int i;a=(int *)malloc(10*sizeof(int)); //分配内存 for(i=0;i<10;i++){ scanf("%d", (a+i)); //输入第i个单元的值 (a+i)=(*(a+i))/2; //单元值除以2 } for(i=0;i<10;i++){ printf("%4d",*(a+i)); //输出第i个单元的值 } free(a);return 0...
int a[10];int* p = a;第i个元素 = *(p+i)
百度试题 题目一个指向有10个整型数数组的指针() A.int *a[10]B.int (*a)[10]C.int a[10]D.int (*a[10])(int)相关知识点: 试题来源: 解析 B 反馈 收藏
一、指针和数组 1 多数情况下,C++将数组名解释为数组第一个元素的地址。在VS2012中编写如下测试代码:int iArray[3]={1, 2, 3};int * pi = iArray;cout << "iArray = " << iArray << endl;cout << "&iArray[0] = " << &iArray[0] << endl;cout << "Pi = " << pi << e...