回 帖 发 新 帖 刷新版面

主题:为什么输出是<NULL>??

#include<stdio.h>
#include<string.h>
void swap(char *p1,char *p2)
{char p[20];
strcpy(p,p1);
strcpy(p1,p2);
strcpy(p2,p);
}

void main()
{

    char str[20];
    int n, i;
 printf("想输入几串字符串?\n");
    scanf("%d",&n);
printf("请输入%d串字符:\n",n);
    for(i=0;i<n;i++)
        gets(str);
    for(i=0;i<3;i++)
    {
        if(strcmp(str,str+1)>0)
            swap(str,str+1);
             printf("%s\n",str[i]);
    }

}
为什么输出是<NULL>??

回复列表 (共2个回复)

沙发

把定义的数据结构改成char[20][20]再试

板凳

你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846

我来回复

您尚未登录,请登录后再回复。点此登录或注册