找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2983|回复: 6

[通用编程] 程序问题

[复制链接]
发表于 2007-8-29 23:06:51 | 显示全部楼层 |阅读模式
#include<stdio.h>
void main()
{
    void change(int arr[]);
    int array[5]={2,5,1,8,6}; /*8,5,6,2,1*/
    change(array);
}
void change(int arr[])
{
    int *max,*min,i,j,k,l,temp;
    max=arr;min=arr;
    for(i=0;i<5;i++)
        if(*max<arr)
    {*max=arr;k=i;}
              
   
    for(j=0;j<5;j++)
        if(*min>arr[j])
    {*min=arr[j];l=j;}
    arr[k]=arr[0]; arr[0]=*max;
    arr[l]=arr[4]; arr[4]=*min;
    for(i=0;i<5;i++)
        printf("%d ",arr);
}
为什么这样不能得出最大值和最小值呢? *max,*min
发表于 2007-8-30 00:18:10 | 显示全部楼层
等一會,某快回
一直想問lz的範例,寫法有點怪,不只是某本地和國內的不同,和正規好像也有距離
這兒的*max和*min用法太奇怪了
再者,int*要是用來存著暫存資料,必須new一個
很多思考上的邏輯也有很大出入
发表于 2007-8-30 11:03:56 | 显示全部楼层
max_value, min_value比较让人能接受,直接用max,min,总是让人想起某.H里面的东西。
 楼主| 发表于 2007-8-30 15:42:48 | 显示全部楼层
直接用max,min,总是让人想起某.H里面的东西。 [s:5] 为什么
发表于 2007-8-30 16:34:59 | 显示全部楼层
很多人会在自己的H文件里面写上这么两句
#define min(x,y) ((x) < (y)) ? (x) : (y)
#define max(x,y) ((x) > (y)) ? (x) : (y)
发表于 2007-8-30 16:46:35 | 显示全部楼层
引用第4楼shawind于2007-08-30 16:34发表的  :
很多人会在自己的H文件里面写上这么两句
#define min(x,y) ((x) < (y)) ? (x) : (y)
#define max(x,y) ((x) > (y)) ? (x) : (y)

VC里本身已经有定义了貌似……
发表于 2007-8-30 22:58:00 | 显示全部楼层
注意头文件没有问题应该,使用C和后来的C++等冲突多也正常……谁让KEYWORDS这么多了

max=arr;min=arr; 用数组保存么?为啥同时指向同一个内存?应该不同巴?
l k 没有初始化,应该至少DEBUG下会有问题才是……

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

本版积分规则

小黑屋|手机版|Archiver|幻想森林

GMT+8, 2026-10-24 07:54 , Processed in 0.012219 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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