您的位置:首页 > 其它

指针数组赋值问题

2012-11-14 21:26 316 查看
小学弟的一个问题,不错额
#include<stdio.h>void main(){char *ch1[5];int i;char **p;p=ch1;for(i=0;i<5;i++)scanf("%s",p+i);for(i=0;i<5;i++)printf("%s",*(p+i));}
指针没有分配空间c:malloc
#include<stdio.h>#include<stdlib.h>int main(){char *ch1[2];int i;char **p;p=ch1;for(i=0;i<2;i++){ch1[i] = (char*)malloc(10);scanf("%s",*(p+i));}for(i=0;i<2;i++)printf("%s\n",*(p+i));}
c++:
#include <iostream>using namespace std;int main(){char *p[3];for(int i=0;i<3;i++){p[i] =new char [3]; //scanf("%s",p[i]);cout <<p[i]<<endl;}return 1;}
也可以用一个二维数组,用来初始化:
#include<stdio.h>#include<stdlib.h>int main(){char *ch1[2];int i;char **p;p=ch1;char a[2][10];for(i=0;i<2;i++){ch1[i] = a[i];scanf("%s",*(p+i));}for(i=0;i<2;i++)printf("%s\n",*(p+i));}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: