C/C++字符指针数组循环赋值处理问题
发布时间
阅读量:
阅读量
前言:打算使用字符指针数组char* strArr[10];来存放若干字符串,并发现利用while循环进行赋值操作会导致系统出现错误提示。
先看一段代码:
main(){
char *strArr[5];//存储字符串的数组
char str[10];
int i = 0;
char *p = NULL;
while (i<5){//循环赋值
gets(str);
p = str;
strArr[i] = p;
i++;
}
printf("result:\t");
for(i=0;i<5;i++){//打印结果
printf("%s\t",strArr[0]);
}
}
我们输入字符串查看结果:

发现结果都是最后一个输入的字符串!!!;
重点来了,字符指针 数组!
因为这是一个单向遍历的过程,在每次循环中,指针p都会指向当前处理的str变量。最终所有元素都将转换
全部评论 (0)
还没有任何评论哟~
