WTS123456 发表于 2018-3-20 16:14:06

字符排序输出问题

#include <stdio.h>
#include <string.h>
void main()
{
        char        *p={"vb","for","vc++","auth","java"},temp;
        int        i,j;

        for(i=0;i<4;i++)
        {
                for(j=0;j<4-i;j++)
                {
                        if(strcmp(p,p)>0)
                        {
                                strcpy(temp,p);
                                strcpy(p,p);
                                strcpy(p,temp);
                        }
                }
       
        }

        for(i=0;i<5;i++)
        {
                puts(p);
        }

}

WTS123456 发表于 2018-3-20 16:15:48

这个为什么不对,运行不了

风过无痕丶 发表于 2018-3-20 16:26:57

说明你的意图~

BngThea 发表于 2018-3-20 16:44:10

strcpy必须要求前面的实参长度足够存放第二个实参的长度
你第二个 strcpy(p,p) 明显不能满足这个要求

WTS123456 发表于 2018-3-20 20:09:10

BngThea 发表于 2018-3-20 16:44
strcpy必须要求前面的实参长度足够存放第二个实参的长度
你第二个 strcpy(p,p) 明显不能满足这个 ...

知道了,由于前面是字符指针,不可以修改内容
页: [1]
查看完整版本: 字符排序输出问题