| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 719 人关注过本帖
标题:算是比较简单的指针题目
只看楼主 加入收藏
yj2822263
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-12-2
收藏
 问题点数:0 回复次数:4 
算是比较简单的指针题目
以下程序是输入10个数 输出最大的数  使用指针的情况下 可是我执行起来总是有错误 要怎么改呢
#include<stdio.h>
main()
{
   int *p,i,a[10];
   printf("input");
   for(i=0;i<=9;i++)
   scanf("%d",a[i]);
   p=a;
   for(i=0;i<=9;i++)
   if(*p<*(p+i)) p=p+i;
   printf("%d\n",*p);
}
搜索更多相关主题的帖子: 指针 
2007-12-06 21:24
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
得分:0 
把 scanf("%d",a[i])改为scanf("%d",&a[i]);

英者自知,雄者自胜
2007-12-06 21:52
swiminfire
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2005-8-11
收藏
得分:0 
#include<stdio.h>
main()
{
   int *p,*q,i,a[10];
   printf("input\n");
   for(i=0;i<9;i++)
   scanf("%d",&a[i]);
   q=a;
   p=a;
   for(i=0;i<9;i++,++p)
   {if(*q<*p)
   q=p;
   }
   printf("\nthe max is:%d\n",*q);
   getch();
}

你的问题出在  if(*p<*(p+i)) p=p+i;和 scanf("%d",a[i]);上。
if(*p<*(p+i)) p=p+i;这句你自己看下,当i=3,并当前p=2且p=2指向的内容小于p=3指向的内容时,就要发生调换。而此时p=2,i=3.p=p+i;p=5.所以会发生溢出。
scanf("%d",a[i]);因为数组存储中,使用单元是要用取址符&,所以应该改成&a[i]。

[[italic] 本帖最后由 swiminfire 于 2007-12-7 07:03 编辑 [/italic]]

Get in first, and then word your ways out ! BY KIKI
2007-12-06 22:03
yangwangyi
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-10-24
收藏
得分:0 
#include<stdio.h>
main()
{
   int *p,i,a[10];
   printf("input\n");
   for(i=0;i<=9;i++)
   scanf("%d",&a[i]);
   p=a;
   for(i=1;i<=9;i++)
   if(*p<*(p+i)) *p=*(p+i);
   printf("The result is :%d\n",*p);
}

[[italic] 本帖最后由 yangwangyi 于 2007-12-6 23:47 编辑 [/italic]]
2007-12-06 23:39
yxwsbobo
Rank: 5Rank: 5
等 级:职业侠客
帖 子:345
专家分:306
注 册:2007-10-29
收藏
得分:0 
#include<stdio.h>
main()
{
   int *p,i,a[10];
   printf("input");
   for(i=0;i<=9;i++)
   scanf("%d",&a[i]);
   p=a;
   for(i=0;i<=9;i++)
   if(a[i]<a[i+1]) p=&a[i+1];
   printf("%d\n",*p);
}

How are you 怎么是你?
How old are you   怎么老是你?
2007-12-07 00:46
快速回复:算是比较简单的指针题目
数据加载中...
 
   



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

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