读书人

指针字符数组取值有关问题

发布时间: 2012-12-31 11:57:52 作者: rapoo

指针字符数组取值问题


#include <stdio.h>
/*require:用一维指针数组读入字符串,输出如下
输入
abcd efh ijkl
输出:
abcd
efh
ijkl

*/
void readArr(char *p[]);
int main(){
char a0[10]="";
char a1[10]="";
char a2[10]="";
char *pa[3]={a0,a1,a2};
readArr(pa);
puts(pa[0]); //这儿怎么输出pa[0]--->a0--->a0[]的字符串
puts(pa[1]);
puts(pa[2]);
return 0;

}
void readArr(char *p[]){
char temp = getchar();
int i=0; //控制指针数组下标
while(temp!='\n'){ //遇到回车结束输入
while(temp!=' '&&temp!='\n'){
//回车空格结束一个字符串的录入,进入下一个字符串录入,或者结束
*p[i]++=temp;
temp = getchar();

}
if(temp!='\n'){ //过滤掉空格
temp = getchar();
i++; //数组下标紫加
}
}
}


[解决办法]
怎么又开一帖?刚才那帖已经回复你了。
void readArr(char *p[]);
int main()
{
char a0[10] = "";
char a1[10] = "";
char a2[10] = "";
char *pa[3] = { a0, a1, a2 };

readArr(pa);

puts(pa[0]);
puts(pa[1]);
puts(pa[2]);

getchar();

return 0;
}
void readArr(char *p[])
{
char temp = getchar();
int i = 0, j = 0;
while (temp != '\n')
{
p[i][j++] = temp;
temp = getchar();

if (temp == ' ')
{
p[i][j] = 0x0;
temp = getchar();
i++;
j = 0;

if (i >= 3) break;


}
}
}

读书人网 >C++ Builder

热点推荐