当前位置: 代码迷 >> C语言 >> 为什么用指针运行不出来呢?请高手帮帮忙
  详细解决方案

为什么用指针运行不出来呢?请高手帮帮忙

热度:132   发布时间:2008-03-20 13:07:49.0
为什么用指针运行不出来呢?请高手帮帮忙
求三个数中最大值,用指针不出结果!



#include<iostream.h>
int imax(int *p,int n)
{ int k;
for(k=*p;p<p+n;p++)
if(*p>k)
k=*p;
return k;}
void main()
{ int a[3],i;
for (i=0;i<3;i++)
cin>>a[i];
cout<<"最大元素"<<imax(a,3)<<endl;
}
[/size]
搜索更多相关的解决方案: 指针  运行  

----------------解决方案--------------------------------------------------------
#include<iostream.h>
int imax(int *p,int n)
{
    int k=*p,i;
    for(i=0;i<n;i++,p++)
        if(*p>k)
           k=*p;
    return k;
}
void main()
{
    int a[3],i;
    for (i=0;i<3;i++)
        cin>>a[i];
    cout<<"最大元素"<<imax(a,3)<<endl;
}
----------------解决方案--------------------------------------------------------
要把输出语句拿出来
----------------解决方案--------------------------------------------------------
回复 2# 的帖子
我那个为什么不可以呀?我看着意思好像差不多呀!
----------------解决方案--------------------------------------------------------
我想问题出现在p<p+n
----------------解决方案--------------------------------------------------------
结束标志,最后指到数据区之外.
----------------解决方案--------------------------------------------------------
把循环中加一个记数器就明白了.如: num++;
----------------解决方案--------------------------------------------------------
  相关解决方案