qq_37362700 2017-06-09 03:06 采纳率: 0%
浏览 976

C语言中的关于循环与排序问题

其中在排序语句中的循环语言有些不理解,如下图:
for(j=i+1;j<num;j++)
[for(j=i;j<num;j++)]
for(j=i;j<num;j++)
从运行结果上来看没有什么不一样的,但没有为什么运行是一样的?

 #include <string.h>
#include <stdlib.h>
#include <stdio.h>


void main (int argc,char *argv[])
{
    int i=0,j=0;
    int num=6;
    char myBuf[30]={0};
    char tempBuf[30]={0};
    char myArray[10][30]={"aaaaa","ffffffff","bbbbbbbbbbb","ccccc","dddddd","eeeeeeee"};

    //打印
    for (i=0;i<num;i++)
    {
        printf("myArray[%d] %s\n",i,myArray[i]);
    }

    //排序
    for (i=0;i<num;i++)
    {
        for (j=i;j<num;j++)
        {
            if (strcmp(myArray[j],myArray[i])>0)
            {
                strcpy(tempBuf,myArray[i]);
                strcpy(myArray[i],myArray[j]);
                strcpy(myArray[j],tempBuf);
            }
        }
    }

    //打印
    printf ("*************\n");
    for (i=0;i<num;i++)
    {
        printf("myArray[%d] %s\n",i,myArray[i]);
    }
    printf("hello word !\n");
    return 0;
}

  • 写回答

5条回答 默认 最新

  • qq_37362700 2017-06-09 03:07
    关注

    图片说明
    想打印 tempBuf 每个元素的内容却打印,程序崩溃
    图片说明
    但是以改成打印 tempbuf ,却打印成功,但打印的只是首元素的值
    图片说明

    以上问题我很疑惑,恳请大家帮忙指点下。

    评论

报告相同问题?

悬赏问题

  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题