為什么這個(gè)我在VC上能運(yùn)行,可到這就不行呢
#include <stdio.h>
int total(int score[]);
int high(int score[]);
int low(int score[]);
int average(int score[]);
void sorting(int score[]);
int main()
{
? ? const int N=10;
? ? int score[N]={67,98,75,63,82,79,81,91,66,84};
? ? printf("total:%d\n",total(score));
? ? printf("high:%d\n",high(score));
printf("low:%d\n",low(score));
?printf("average:%d\n",average(score));
?sorting(score);
? ? return 0;
}
int total(int score[])
{
? ??
? ? int i,sum=0;
? ? for(i=0;i<10;i++)
? ? {
? ? ? ? ? ?sum+=score[i];
? ? ? ? }
? ? return sum;
}
int high(int score[])
{
? ? int i,max=score[0];
? ? for(i=1;i<10;i++)
? ? {
? ? ? ?if(score[i]>max)
? ? ? ?{
? ? ? ? ? ?max=score[i];
? ? ? ?}
? ? }
? return max;
}
int low(int score[])
{
? ? int i,min=score[0];
? ? for(i=1;i<10;i++)
? ? {
? ? ? ? if(score[i]<min)
? ? ? ? {
? ? ? ? ? ? min=score[i];
? ? ? ? }
? ? }
? ?return min;
}
int average(int score[])
{
? ? int i,sum=0,Ave;
? ? for(i=0;i<10;i++)
? ? {
? ? ? ? sum+=score[i];
? ? }
? ? Ave=sum/10;
? return Ave;
? ? }
? ? void sorting(int a[])
? ? {
? ? ? ? int i,j, t;
? ? ? ? for(i=0;i<9;i++)
? ? {
? ? ? ? for(j=0;j<10-i;j++)
? ? ? ? {
? ? ? ? ? ? if(a[j]<a[j+1])
? ? ? ? ? ? {
? ? ? ? ? ? ? ? ?t=a[j];
? ? ? ? ? ? ? ? a[j]=a[j+1];
? ? ? ? ? ? ? ? a[j+1]= t;
? ? ? ? ? ? ? ? }
? ? ? ? }
? ? ? ? }
? ? ? ? for(i=0;i<10;i++)
? ? ? ? {
? ? ? ? ? ? printf("%d\t",a[i]);
? ? ? ? }
? ? }
2015-02-26
我在VC上咋不行呢,你把?int score[N]={67,98,75,63,82,79,81,91,66,84};這句話,換成?int score[10]={67,98,75,63,82,79,81,91,66,84};就應(yīng)該可以了
2015-02-28
稍微多說(shuō)一點(diǎn):
C語(yǔ)言:
在傳統(tǒng)的C中,數(shù)組的大小必須能在編譯時(shí)確定。
所以在定義數(shù)組時(shí)如果指定大小只能使用大于0的整型常量(字面量、枚舉常量)。在C中用const修飾的變量并不被視作“常量”,const只是向編譯器強(qiáng)調(diào)該變量不能修改。
要么就是不寫大小,而用初始化列表來(lái)定義數(shù)組,這樣編譯器就根據(jù)你提供的列表中元素的個(gè)數(shù)來(lái)確定數(shù)組大小,顯然這個(gè)數(shù)在編譯時(shí)是可以確定的。
或者也可以同時(shí)指定大小和提供初始化列表,不過(guò)列表中的元素個(gè)數(shù)不能超過(guò)你指定的數(shù)組大小。
在函數(shù)參數(shù)列表中聲明的數(shù)組還有更多的規(guī)定,不過(guò)通常不會(huì)寫這么復(fù)雜的,你先不用管它。
后來(lái)C99標(biāo)準(zhǔn)引入了“變長(zhǎng)數(shù)組”(VLA),允許在定義數(shù)組時(shí)用變量指定大小,但只限于局部作用域定義的數(shù)組(在global scope定義的數(shù)組不行)。順便說(shuō)一句,引入這個(gè)特性爭(zhēng)議極大。
C++語(yǔ)言:
C++并沒(méi)有變長(zhǎng)數(shù)組的概念。不過(guò)const修飾的變量被視作“常量”,所以可以用const修飾的變量來(lái)指定數(shù)組大小。
2015-02-27
在C語(yǔ)言中,用變量來(lái)確定大小的這種數(shù)組,在定義的同時(shí)不能被初始化。
不過(guò)在C++中可以,所以你是不是用VC++來(lái)編譯了?