| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2962 人关注过本帖
标题:指针方面的问题,此程序调试显示是正确的,但是运行起来的结果是错误的为什 ...
只看楼主 加入收藏
chenziguo
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2013-10-25
结帖率:58.33%
收藏
已结贴  问题点数:6 回复次数:7 
指针方面的问题,此程序调试显示是正确的,但是运行起来的结果是错误的为什么?求解
#include "stdio.h"
main()
{
  float a[10],ave=0,*p;
  int i=0;
  for(p=a;p<a+10;p++)
  scanf("%f",p);
  if(*p>0){
      i++;
    ave+=*p;}
  ave/=i;
  printf("output  \n");
  for(p=a;p<a+10;p++) {
     if(*p>ave)
     printf("%f",*p);}
}
搜索更多相关主题的帖子: include 
2014-08-12 11:14
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
调试正确只能证明基本语法没问题

DO IT YOURSELF !
2014-08-12 11:17
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
p 本是指针 你如果当数组来使用 那他的所属空间呢  在哪里?

DO IT YOURSELF !
2014-08-12 11:18
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
给你看看百度是怎么解释“调试”的,然后看看自己的概念错在哪里:

词目:调试

拼音:tiáo shì

含义:

1.编好程序后,用各种手段进行查错和排错的过程。作为程序的正确性不仅仅表现在正常功能的完成上,更重要的是对意外情况的正确处理。从心理学的角度考虑,开发人员和调试人员不应该是同一个人。

2.音乐术语,若干高低不同的乐音围绕具有某一稳定感的中心音按一定的音程关系组织在一起,成为一个有机体系。

授人以渔,不授人以鱼。
2014-08-12 11:23
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
英文解释:

debug  
vb. To detect, locate, and correct logical or syntactical errors in a program or malfunctions in hardware. In hardware contexts, the term troubleshoot is the term more often used, especially when the problem is a major one. See also bug, debugger.

关键部分中文翻译:“调试”是动词,意指一个过程,它是一个针对逻辑或语法进行检测、定位以及修正错误的过程。

调试(debug),包括语法和逻辑两方面的排错,尤其以运行时错误占大头。编译错误(通常属于语法错误)是很容易检查出来的,因为优秀的编译器都有大量的针对性检查,可以极大地帮助程序员检测、定位出语法错误,但对运行时逻辑错误,编译器的帮助有限(一般此类检查以警告的形式出现,所以千万不要轻易说忽略警告,那相当危险),程序员的功夫都花在排查运行时逻辑错误上,它伴随软件的整个生命周期,绝对不会有完的时候。

[ 本帖最后由 TonyDeng 于 2014-8-12 11:36 编辑 ]

授人以渔,不授人以鱼。
2014-08-12 11:26
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:0 
for(p=a;p<a+10;p++){ //少了对花括号
   scanf("%f",p);
   if(*p>0){
       i++;
     ave+=*p;}
}
2014-08-12 11:46
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:0 
for(p=a;p<a+10;p++){ //少了对花括号
   scanf("%f",p);
   if(*p>0){
       i++;
     ave+=*p;}
}
2014-08-12 11:46
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
调试正确就什么都不用问,无需求解。另一方面,很多自认为没有问题的程序其实是没有调试通透,没有发现错误而已。除了hello,world之类的程序,没几个程序是没有问题的。

授人以渔,不授人以鱼。
2014-08-12 11:55
快速回复:指针方面的问题,此程序调试显示是正确的,但是运行起来的结果是错误的 ...
数据加载中...
 
   



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

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