标题:关于VC标准的问题
只看楼主
寻乐的狼
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-2-16
结帖率:100%
 问题点数:0 回复次数:15 
关于VC标准的问题

/* 如何用VC运行此程序,对于VC的标准头文件我还不了解 */

#include<stdio.h>

define max 10

int array[max],count=0; /* 我看书上用的是int array[max+1],count=0;这样做有什么好处 !*/
int largest(int array[]);

int main(void)
{
for( ;count<max;count++)
{
printf("input 10 numbers for compare size");
scanf("%d",&array[count]);
if(array[count]==0)
count = max;
array[count-1]=0;/* 这里也错了 直接array[max]就可以了*/
}
printf("the largest number is %d",largest(array[]));
return 0;
}


/* ================================================================== */
int largest(int array[])
{
int biggest=-1111;
for( ;array[count]!=0,count++)
{
if(array[count]>biggest)
biggest=array[count];
}
return biggest;
}

此文件如何在VC中运行

[此贴子已经被作者于2007-8-11 19:34:06编辑过]

搜索更多相关主题的帖子: array count int max 
2007-08-11 10:00
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
得分:0 
int array[max+1],count=0;
这个才是对的,你修改过的就下标越界

在保证输入的数据中都比0要大的时候,这种方法比传统找最大值的算法稍快,因为少了一次判断
2007-08-11 11:00
寻乐的狼
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-2-16
得分:0 

什么叫下标越界呢?
那么传统找最大值的算法又是什么呢?(找了些,几乎跟此类似,跟一个固定数(有的是ARRAY[0])比,大的取代为固定数,如此一个一个的比较, 取代


用C打破禁锢的世界
2007-08-11 11:37
寻乐的狼
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-2-16
得分:0 

晕,没人帮我解答吗?


用C打破禁锢的世界
2007-08-11 17:54
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
得分:0 
以下是引用寻乐的狼在2007-8-11 10:00:53的发言:

#include<stdio.h>

define max 10

int array[max],count=0; /* 我看书上用的是int array[max+1],count=0;这样做有什么好处 */
int largest(int array[]);

int main(void)
{
for( ;count<max;count++)
{
printf("input 10 numbers for compare size");
scanf("%d",&array[count]);
if(array[count]==0)
count = max;
array[count]=0;----------------这你都敢赋值??越界了!!
}
printf("the largest number is %d",largest(array[]));
return 0;
}


/* ================================================================== */
int largest(int array[])
{
int biggest=-1111;
for( ;array[count]!=0,count++)
{
if(array[count]>biggest)
biggest=array[count];
}
return biggest;
}

此文件如何在VC中运行


要练习算法就来http:///!!有挑战哦!!
2007-08-11 18:07
寻乐的狼
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-2-16
得分:0 
什么叫越界了?不明白为什么,请指教

用C打破禁锢的世界
2007-08-11 19:06
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
得分:0 
就a[n]它只能对0----n-1下标的元素赋值,不能对a[n]进行引用和赋值 !!

要练习算法就来http:///!!有挑战哦!!
2007-08-11 19:20
戒不掉
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-8-11
得分:0 
以下是引用寻乐的狼在2007-8-11 19:06:18的发言:
什么叫越界了?不明白为什么,请指教

就是超出了数组的有效范围


2007-08-11 19:22
寻乐的狼
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-2-16
得分:0 
以下是引用viky2003在2007-8-11 19:20:26的发言:
就a[n]它只能对0----n-1下标的元素赋值,不能对a[n]进行引用和赋值 !!

恩,知道了,谢谢,这个问题解决
可是,如何用VC运行次程序呢,他的标准和这不一样,我不太会改


用C打破禁锢的世界
2007-08-11 19:28
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
得分:0 
什么的都不用改,一样可以用VC运行,

只是VC标准的std里面对C库这样用:

#include <cstdio>
using namespace std;

C++标准制定委员会也推荐这种用法

[此贴子已经被作者于2007-8-11 20:12:03编辑过]


天行健,君子以自强不息!!QQ:68660681
2007-08-11 20:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-161892-1-1.html




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

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