c语言在线等答案
来源:百度知道 编辑:UC知道 时间:2024/06/01 05:13:21
下面程序的运行结果是 :
#include <string.h>
main( )
{
char *name[10]={"bjc","wef"},*temp;
int i;
if(strcmp(name[0],name[1])<0)
{
temp=name[0];
name[0]=name[1];
name[1]=temp;
}
for(i=0;i<2;i++)
printf("%s\n",name[i]);
printf("%s\n",strcat(name[0],name[1]));
}
#include <string.h>
main( )
{
char *name[10]={"bjc","wef"},*temp;
int i;
if(strcmp(name[0],name[1])<0)
{
temp=name[0];
name[0]=name[1];
name[1]=temp;
}
for(i=0;i<2;i++)
printf("%s\n",name[i]);
printf("%s\n",strcat(name[0],name[1]));
}
wef
bjc
然后程序出错,汗
修改程序如下:
#include <string.h>
main( )
{
char *name[10],*temp;
char s1[20] = "bjc";
char s2[20] = "wef";
name[0] = s1;// 保证name[0]后面有足够的空间存放
name[1] = s2;
int i;
if(strcmp(name[0],name[1])<0)
{
temp=name[0];
name[0]=name[1];
name[1]=temp;
}
for(i=0;i<2;i++)
printf("%s\n",name[i]);
printf("%s\n",strcat(name[0],name[1]));
}
输出:
wef
bjc
wefbjc