| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 885 人关注过本帖, 2 人收藏
标题:一个字符指针数组问题。。。。
只看楼主 加入收藏
zhonganyun0
Rank: 2
等 级:论坛游民
帖 子:31
专家分:18
注 册:2012-7-26
结帖率:100%
收藏(2)
已结贴  问题点数:10 回复次数:9 
一个字符指针数组问题。。。。
这个程序要怎样才能换成键盘输入,然后输出一样的效果

比如键盘依次输入:a[0]=wfwefwewef
                  a[1]=qwrrffqwfqf
                  a[2]=qfwfqwdfqwd

再打印出:  a[0]=wfwefwewef
            a[1]=qwrrffqwfqf
            a[2]=qfwfqwdfqwd

#include<stdio.h>
void main()
{
char *a[]={{"sfsfefsef"},{"uikgghfgh"},{"cvbfbdfbc"},{"rthrthfd"}};


for(i=0;i<4;i++)
    {
        printf("%s\n",*(a+i));

    }

}  
比如换成:
#include<stdio.h>
void main()
{
char *a[20];
    int i,j;
for(-----------------)
    {
    printf("a[%d]=",i);
    scanf("%s",  ----  );  
}
for(----------------------)
    {
        printf("%s\n",-----);

    }
实现依次打印输入的几个字符串。。。。

[ 本帖最后由 zhonganyun0 于 2012-7-28 00:44 编辑 ]
搜索更多相关主题的帖子: include void 
2012-07-28 00:25
w995612220
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:139
专家分:313
注 册:2012-6-20
收藏
得分:1 
#include<stdio.h>
void main()
{
    /*
    int i;
char *a[]={{"sfsfefsef"},{"uikgghfgh"},{"cvbfbdfbc"},{"rthrthfd"}};


for(i=0;i<4;i++)
    {
        printf("%s\n",*(a+i));
    }
    */
    char ch;   //在这里加一个控制循环几次
    while((ch=getchar()) != '#')       //以'#'作为结束标志,你也可以选择其他的。
        printf("%c",ch);
        printf("/n");

}  

2012-07-28 00:33
zhonganyun0
Rank: 2
等 级:论坛游民
帖 子:31
专家分:18
注 册:2012-7-26
收藏
得分:0 
回复 2楼 w995612220
是要实现键盘输入字符串到数组*a[20],然后依次输出输入的几个字符串,,,看清题咯

实现下面这样的形式
#include<stdio.h>
 void main()
 {
 char *a[20];
     int i,j;
 for(-----------------)
     {
     printf("a[%d]=",i);
     scanf("%s",  ----  );  
 }
 for(----------------------)
     {
         printf("%s\n",-----);
 
    }

[ 本帖最后由 zhonganyun0 于 2012-7-28 00:41 编辑 ]
2012-07-28 00:38
micholasmalo
Rank: 2
等 级:论坛游民
帖 子:40
专家分:62
注 册:2012-6-22
收藏
得分:1 
#include<stdio.h>
#define CROW 5
#define SIZE 10
int main()
{
char a[CROW][SIZE],*p;
p=a[CROW];
for(;gets(p)!='\0';)
puts(p);

   

return 0;


  
}
退出的循环条件是数组满了。。。。。
2012-07-28 03:26
micholasmalo
Rank: 2
等 级:论坛游民
帖 子:40
专家分:62
注 册:2012-6-22
收藏
得分:0 
忘了说了,别用char *a[3]这类的定义,指针数组不初始化后果是很可怕,也很可笑的。。。。。。
2012-07-28 03:31
xuhowe823
Rank: 2
等 级:论坛游民
帖 子:7
专家分:13
注 册:2010-10-12
收藏
得分:1 
用动态数组不就行了,判断时判断输入是不是回车键就可以区别各个字符串。
2012-07-28 08:37
zhonganyun0
Rank: 2
等 级:论坛游民
帖 子:31
专家分:18
注 册:2012-7-26
收藏
得分:0 
回复 6楼 xuhowe823
怎么实现?
2012-07-28 17:46
小糊涂神c30
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:198
专家分:809
注 册:2012-4-25
收藏
得分:1 
#include<stdio.h>
void main()
{
    char arr[3][20]={0};
    char (*a)[20]=0;
    int i,j;
    a=arr;
    for(i=0;i<3;i++)
    {
  printf("a[%d]=",i);
  scanf("%s",a[i]);  
    }
    for(i=0;i<3;i++)
    {
     printf("a[%d]=%s\n",i,a[i]);
  }
 }
帮你完成了以下,你测试一下吧,看你是新手,提醒你别忘了结贴!
2012-07-28 20:49
xuhowe823
Rank: 2
等 级:论坛游民
帖 子:7
专家分:13
注 册:2010-10-12
收藏
得分:0 
其实可以更人性化些的,你可以任意输入字符串,只要各个字符串之间用空格键隔开就行,可以输入任意多的字符串。似乎有点小题大作了。你看看吧,运行着试试就知道了,我是在VC6.0上写的。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 100
void main()
{
   
    int i=0,j=0,flag=0,start=0;
    char *string;
    string=(char*)malloc(N*sizeof(char));
    memset(string,N,0);
    printf("请输入所需打印的字符串,字符串之间空格键断开\n");
    gets(string);
    for (i=0;i<N;i++)
    {
        if (*(string+i)==32||*(string+i)=='\0')
        {
            flag=i+1;
            printf("a[%d]=:",j);
            for (int k=start;k<flag&&*(string+k)!=32;k++)
            {
                printf("%c",*(string+k));
            }
            printf("\n");
            j++;
            start=flag;
        }
    }
}
2012-07-29 12:02
LShang
Rank: 4
来 自:China
等 级:业余侠客
威 望:3
帖 子:183
专家分:258
注 册:2010-12-24
收藏
得分:1 
讨厌这种留空的题,喜欢自己写代码
楼主是来求的作业吧

学如逆水行舟,不进则退
士不可以不弘毅,任重而道远
2012-07-29 12:14
快速回复:一个字符指针数组问题。。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027166 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved