主题:为什么输出是<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>??
#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>??