关于一些字符串处理函数
strcpy();之前一直没有发现它有什么用处今天晚上发现他可以用来交换字符串。
#include <stdio.h>
int main()
{
void sort(char [][80],int );
int i;
char str[10][80];
int n;
scanf("%d",&n);
for (i=0; i<n; i++)
scanf("%s",str[i]);
sort(str,n);
for (i=0; i<n; i++)
printf("%s\n",str[i]);
return 0;
}
void sort(char str[][80],int n){
char a[123];
int i,j;
for(j=0;j<n-1;j++)
for(i=0;i<n-1-j;i++)
{
if(strcmp(str[i],str[i+1])>=0)
{
strcpy(a,str[i]);
strcpy(str[i],str[i+1]);
strcpy(str[i+1],a);
}
}
}
int main()
{
void sort(char [][80],int );
int i;
char str[10][80];
int n;
scanf("%d",&n);
for (i=0; i<n; i++)
scanf("%s",str[i]);
sort(str,n);
for (i=0; i<n; i++)
printf("%s\n",str[i]);
return 0;
}
void sort(char str[][80],int n){
char a[123];
int i,j;
for(j=0;j<n-1;j++)
for(i=0;i<n-1-j;i++)
{
if(strcmp(str[i],str[i+1])>=0)
{
strcpy(a,str[i]);
strcpy(str[i],str[i+1]);
strcpy(str[i+1],a);
}
}
}
字符串就像一个简单的变量,这都得益于strcpy函数,将自符串str[i]存放在a的开头,第二个strcpy将str[i+1]放在
str[i]的开头,对strcpy会清除前面字符串的内容。