| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 385 人关注过本帖
标题:指针问题求助
只看楼主 加入收藏
darklily
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-5-16
收藏
 问题点数:0 回复次数:6 
指针问题求助

#include "stdio.h"
#include "math.h"
main()
{
int a[3];
int i,m;
int *p=a;
printf("\nInput the array:");
for(i=0;i<3;i++)
{
scanf("%d",&a[i]);
}
if(max<*(p+1))
max=*(p+1);
if(max<*(p+2))
max=*(p+2);
printf("\nThe max is %d",max);

}

目的输出最大值..运行结果有错,输出的数字和我输入的数字不符

2007-05-21 14:00
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 

不懂你MAX的函数是什么,我没有这个函数库里
#include "stdio.h"
#include "math.h"
main()
{
int a[3];
int i,m,max;
int *p=a;
printf("\nInput the array:");
for(i=0;i<3;i++)
{
scanf("%d",&a[i]);
}
max=*p;
if(max<*(p+1))
max=*(p+1);
if(max<*(p+2))
max=*(p+2);
printf("\nThe max is %d",max);

}


偶是菜鸟鸟偶惧WHO?!!!!
2007-05-21 15:50
gyhqiang123
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-5-20
收藏
得分:0 

#include "stdio.h"
void main()
{
int a[3],max=0;
int i,t;
int *p=a;
printf("\nInput the array:");
for(i=0;i<3;i++)
{
scanf("%d",&a[i]);
}

for (p=a;p<a+3;p++)
if(max<*p) max=*p;

printf("\nThe max is %d",max);

}

这样做就行了;
#include "stdio.h"
#include "math.h"
main()
{
int a[3];
int i,m;
int *p=a;
printf("\nInput the array:");
for(i=0;i<3;i++)
{
scanf("%d",&a[i]);
}
if(max<*(p+1))
max=*(p+1);
if(max<*(p+2))
max=*(p+2);
printf("\nThe max is %d",max);

}

你的程序有些问题,头文件#include<math.h>不需要,还有maxmei没有定义,if语句有问题,当执行完第一IF语句,假如符合第一个条件,其就不往下执行了,就得不出MAX了

2007-05-21 16:01
daijingchun
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-5-16
收藏
得分:0 
#include<stdio.h>
void main()
{int a[3],max,i;
int *p=a;
for(i=0;i<3;i++)
scanf("%d",&a[i]);
max=a[i];
for(i=0;i<3;i++)
{if(max<*p)
max=*p;
p++;
}
printf("max=%d\n",max);
getch();
}
哈哈,这个很简单啊。说实话,用c 语言做一些题目很简单的。
但到现在还是没有弄懂c 语言到底在工作中还没有用
2007-05-21 20:55
darklily
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-5-16
收藏
得分:0 

谢谢!!to:gyhqiang123,你最后说的不对"当执行完第一IF语句,假如符合第一个条件,其就不往下执行了"
第一个符合,还会继续判断下面语句的..没个if只管到他分号处/


2007-05-22 09:34
jerny
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-12-23
收藏
得分:0 

我支持2楼的,

不懂你MAX的函数是什么,我没有这个函数库里
#include "stdio.h"
#include "math.h"
main()
{
int i,max,a[3];
int *p=a;
printf("\nInput the array:");
for(i=0;i<3;i++)
{
scanf("%d",&a[i]);
}
max=*p;
if(max<*(p+1))
max=*(p+1);
if(max<*(p+2))
max=*(p+2);
printf("\nThe max is %d",max);

}


2007-05-22 11:03
zhouokyes
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-4-25
收藏
得分:0 

#include "stdio.h"
#include "math.h" -----无用
main()
{
int a[3];
int i,m;
int *p=a;
printf("\nInput the array:");
for(i=0;i<3;i++)
{
scanf("%d",&a[i]);
}
if(max<*(p+1)) --------max未定义,此处显然是一个变量,不是函数.另外比较前应把数组a
max=*(p+1); 任意值赋给它.
if(max<*(p+2))
max=*(p+2);
printf("\nThe max is %d",max);

}

改动后:
#include "stdio.h"
main()
{
int a[3],max;
int i,m;
int *p=a;
printf("\nInput the array:");
for(i=0;i<3;i++)
{
scanf("%d",&a[i]);
}
max=a[0];
if(max<*(p+1))
max=*(p+1);
if(max<*(p+2))
max=*(p+2);
printf("\nThe max is %d",max);

}

2007-05-22 12:45
快速回复:指针问题求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016849 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved