程序问题
#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 等一會,某快回
一直想問lz的範例,寫法有點怪,不只是某本地和國內的不同,和正規好像也有距離
這兒的*max和*min用法太奇怪了
再者,int*要是用來存著暫存資料,必須new一個
很多思考上的邏輯也有很大出入 max_value, min_value比较让人能接受,直接用max,min,总是让人想起某.H里面的东西。 直接用max,min,总是让人想起某.H里面的东西。 为什么 很多人会在自己的H文件里面写上这么两句
#define min(x,y) ((x) < (y)) ? (x) : (y)
#define max(x,y) ((x) > (y)) ? (x) : (y) 引用第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里本身已经有定义了貌似…… 注意头文件没有问题应该,使用C和后来的C++等冲突多也正常……谁让KEYWORDS这么多了
max=arr;min=arr; 用数组保存么?为啥同时指向同一个内存?应该不同巴?
l k 没有初始化,应该至少DEBUG下会有问题才是……
以上
页:
[1]