鱼C论坛

 找回密码
 立即注册
查看: 2450|回复: 3

大神。帮忙看下

[复制链接]
发表于 2014-5-20 11:59:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include <stdio.h>
  2. void main()
  3. {
  4.         void maopao(int s[]);       
  5.         int s1[] ={12,15,4156,1,651,35,163,1,3,156,1,351,3};
  6. maopao(s1);


  7. }
  8. void maopao(int s[])
  9. {

  10.         int        slen = sizeof(s) / sizeof(s[0]),i,j,kep;

  11.         printf("未排序的数组:");
  12.         for (i=0;i<slen;i++)
  13.         {
  14.                 printf("%d ",s[i]);
  15.         }

  16.         for(i = 1; i<slen-1;i++)
  17.         {
  18.                 for (j=0;j<slen-1;j++)
  19.                 {
  20.                         if (s[j] >s[j+1])
  21.                         {
  22.                                 kep= s[j];
  23.                                 s[j]=s[j+1];
  24.                                 s[j+1]=kep;
  25.                         }
  26.                 }
  27.         }
  28.         printf("\n排序后的数组 :");

  29.         for (i=0;i<slen;i++)
  30.         {
  31.                 printf("%d ",s[i]);
  32.         }

  33. }


复制代码

                               
登录/注册后可看大图

无标题.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-5-20 12:00:24 | 显示全部楼层
为何会这样!!!:shock::shock::shock::shock::shock:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-20 12:29:04 | 显示全部楼层
  1. #include <stdio.h>

  2. void maopao(int s[], int size);

  3. void main()
  4. {   
  5.     int s1[] = {12, 15, 4156, 1, 651, 35, 163, 1, 3, 156, 1, 351, 3};
  6.         maopao(s1, sizeof(s1) / sizeof(int));
  7. }

  8. void maopao(int s[], int size)
  9. {
  10.     int i, j, kep;

  11.     printf("未排序的数组: ");

  12.     for (i=0; i<size; i++)
  13.     {
  14.         printf("%d ",s[i]);
  15.     }

  16.     for(i=0; i<size-1; i++)
  17.     {
  18.         for (j=0; j<size-i; j++)
  19.         {
  20.             if (s[j] > s[j+1])
  21.             {
  22.                 kep      = s[j];
  23.                 s[j]     = s[j + 1];
  24.                 s[j + 1] = kep;
  25.             }
  26.         }
  27.     }

  28.     printf("\n排序后的数组: ");

  29.     for (i=0; i<size; i++)
  30.     {
  31.         printf("%d ",s[i]);
  32.     }

  33. }
复制代码
void maopao(int s[]) 参数传递的是指针,sizeof(s)大小为一个指针的大小,最后slen为1,一般对于结构体或数组大小,以参数的形式提供,看了一下,你使用的是冒泡排序,有地方错了,我改了一下,你看看吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-21 17:36:32 | 显示全部楼层
风之残月 发表于 2014-5-20 12:29
void maopao(int s[]) 参数传递的是指针,sizeof(s)大小为一个指针的大小,最后slen为1,一般对于结构体或数 ...

{:7_155:}...谢谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-9 23:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表