首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

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

2012-12-31 
指针字符数组取值问题#include stdio.h/*require:用一维指针数组读入字符串,输出如下输入abcd efh ijkl

指针字符数组取值问题


#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;


        }
    }
}

热点排行