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]));

}

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