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

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

你看,在你输入的时候,依次对数组赋值,到最后,p指向a[9],然后你又去执行printf中的 *p++,此时的p并不是指向a,而是a[9];, 再看 你的第二个程序,也是错的,怎么可能运行出来,p同样没有确定的指向,在我的电脑上 运行不出来。应该这样 #incl...

#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

比如 int a[10]; int *p=a; 如果直接遍历就是 for(int 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 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(){ ...

1 可以通过指针来遍历动态数组 一般的,用stdlib.h里的malloc函数来创建动态数组 该动态数组在内存上是连续的,因此可以用指针来遍历 2 一个小示例 #include#include#define N 9int main(){ //1. 创建一个长度为N的整型动态数组 int *arr = (int*)...

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

int i=0; while(*argv[1]&&*argv[2]) { printf("%c",((*(argv[1]+i)-'0')|(*(argv[2]+i))+'0'); i++; } 这样就可以了,你可以保持指针只想不变,给他偏移量就行!

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