永发信息网

如何依次输出存于字符数组内的字符串

答案:4  悬赏:0  手机版
解决时间 2021-02-20 16:29
  • 提问者网友:蔚蓝的太阳
  • 2021-02-20 00:15
补充下是大概这样, char a[n]scanf("%d",&n)我知道这样写不行,只是这个意思,字符数组的个数由你输入,然后输入字符数组,还要依次输出....谁能解答下啊,谢谢了...
最佳答案
  • 五星知识达人网友:鱼忧
  • 2021-02-20 01:03
楼主的意思是这样的吧,定义一个数组指针 char *p[5],数组每个元素都是一个指针,p[0]="ashdsaj"p[1]="hfasask",然后依次输出
for(i=0; i<5; i++)
{
printf("%s", p[i]);
}
这样就可以输出了,相信你会明白的,呵呵,祝你学习进步!!!

给你一个程序:输入字符串,并排序,然后在输出。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void sort(char *b[], int n)
{
char *p;
int i, j, k;

for(i=0; i<n-1; i++)
{
k=i;
for(j=i+1; j<n; j++)
{
if(strcmp(b[k], b[j]) > 0)
{
k=j;
}
if(k!=i)
{
p=b[i];
b[i]=b[k];
b[k]=p;
}
}
}

}

void main()
{
char *a[5]={0};
int i=0;

printf("请输入5个字符串:\r\n");
for(i=0;i<5;i++)
{
a[i]=(char*)calloc(10, sizeof(char));
gets(a[i]);
}
sort(a, 5);
for(i=0;i<5;i++)
{
printf("%s\n", a[i]);
}
return;
}
全部回答
  • 1楼网友:孤独入客枕
  • 2021-02-20 04:28
简单写一下 #inlude"stdio.h" main() { int i; char s[10]="dddddd"; for(;i<10;i++) printf(" %c",s[i]); } 因为速度很快所以几乎看不出是依次的
  • 2楼网友:鱼忧
  • 2021-02-20 03:02
你好!!! 提问题的时候要把问题说清楚,那么别人才好帮你回答!!! 代码: #include <stdio.h> #include<string.h> #include<malloc.h> void main() { int max; printf("请输入数组的大小:"); scanf("%d",&max); char *ss=(char*)malloc(sizeof(char)*(max+1));//开辟空间 printf("请输入数组:"); int flag=0,k; scanf("%s",ss); do { flag=0; k=strlen(ss);//求字符串的长度 if(k>max) { printf("请输入数组的大小不符合要求,重新输入!!!\n"); scanf("%s",ss); flag=1; } }while(flag==1); printf("请输出数组:"); for(int i=0;i<strlen(ss);i++) printf("%c",ss[i]); printf("\n"); } 测试: 请输入数组的大小:6 请输入数组:abcdef 请输出数组:abcdef Press any key to continue 请输入数组的大小:6 请输入数组:akldjfkl 请输入数组的大小不符合要求,重新输入!!! dkjk 请输出数组:dkjk Press any key to continue
  • 3楼网友:woshuo
  • 2021-02-20 02:06
你好!!! 提问题的时候要把问题说清楚,那么别人才好帮你回答!!!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯