august 发表于 2007-8-29 23:06:51

程序问题

#include<stdio.h>
void main()
{
    void change(int arr[]);
    int array={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)
    {*min=arr;l=j;}
    arr=arr; arr=*max;
    arr=arr; arr=*min;
    for(i=0;i<5;i++)
      printf("%d ",arr);
}
为什么这样不能得出最大值和最小值呢? *max,*min

coolpay64 发表于 2007-8-30 00:18:10

等一會,某快回
一直想問lz的範例,寫法有點怪,不只是某本地和國內的不同,和正規好像也有距離
這兒的*max和*min用法太奇怪了
再者,int*要是用來存著暫存資料,必須new一個
很多思考上的邏輯也有很大出入

shawind 发表于 2007-8-30 11:03:56

max_value, min_value比较让人能接受,直接用max,min,总是让人想起某.H里面的东西。

august 发表于 2007-8-30 15:42:48

直接用max,min,总是让人想起某.H里面的东西。 为什么

shawind 发表于 2007-8-30 16:34:59

很多人会在自己的H文件里面写上这么两句
#define min(x,y) ((x) < (y)) ? (x) : (y)
#define max(x,y) ((x) > (y)) ? (x) : (y)

john_he 发表于 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里本身已经有定义了貌似……

lw 发表于 2007-8-30 22:58:00

注意头文件没有问题应该,使用C和后来的C++等冲突多也正常……谁让KEYWORDS这么多了

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

以上
页: [1]
查看完整版本: 程序问题