dkfr.net
当前位置:首页 >> C 数组指针,遍历数组问题 >>

C 数组指针,遍历数组问题

#includeint main(){char const * keyword[]={"1111","2222","3333","4444",NULL};char **p=(char**)keyword;while(*p!=NULL){puts(*p++);}return 0;}

#include void print(int *p, int len) { int i = 0; for(i = 0; i < len; i++) { printf("%d ", *p); p++; } } int main() { int a[5], i; for(i = 0; i < 5; i++) scanf("%d", &a[i]); print(a, 5); } //我晕,竟然不采纳的。

指针解遍历数组例题: #include int main(){ int arr[] = { 99, 15, 100, 888, 252 }; int i, *p = arr, len = sizeof(arr) / sizeof(int); for(i=0; i

答案是C,B是错误的,类型不匹配,p[0]是个整型变量,不能接受指针数组首地址的赋值,整型变量和二级指针完全不兼容!除非强制转换,*(a 1)就是a[1],和p类型兼容都是整型指针,所以选C,B没有什么好解释的,是一个严重错误!

int main(){char a[5]={'A','B','C','D'};char (*p3)[5] = &a;char (*p4)[5] = a;return 0;}个人感觉 char (*p4)[5] = a;这一句应该会出现语法错误,char (*p3)[5] = &a;这一句表示p3是一个一维五个字符的数组的地址,所以p3的值是数组a[5]的起...

#include #include main(){ char a,*p=&a; //我为了能够运行设了几个变量 char str[][20]={"One*World","One*Dream!"}; p=str+1; //如果是 *p=str[1] 是把str[1][0]的值给了a; printf("%d,",strlen(p)); printf("%s\n",p);}二维数组中str[1]=...

#include #include void isPerfectNum(int a){ int i; int iArr[1000]={0}; /*当我把数组的下标改小时,比如20,程序会出现错误*/ int *pi=iArr; for(i=1;i=iArr;pi--) sum+=*pi; if(sum==a) printf("%d\n",a); else printf("\0");}int main(){ ...

#include int main(){double a[200],*p=a,*q=p+1;printf("数组元素个数=%d\n",sizeof(a)/sizeof(a[0]));printf("数组元素的字节数=%d\n",(char*)q-(char*)p);}

printf("%d\n",*p); int i,m=3,n=5;int j;int x[3][5] = { { 1,1,1,1,1 },{ 2,2,2,2,2 },{ 3,3,3,3,3 } };int *p;p = x;for (i = 0; i < m; i++) {for (j = 0; j < n; j++) {printf("%d\n", *p);p++;}}

void nzp(int a[]); 你可以说他需要的是一个数组, 但实际上他需要的就是一个地址, 这个地址就是a数组的首地址. 你也没法把整个数组都传过去.

网站首页 | 网站地图
All rights reserved Powered by www.dkfr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com