Array
#include<stdio.h>
int main()
{
int c,i,nwhite,nother;
int ndigit[10];
nwhite = nother = 0;
for(i=0;i<10;++i)
ndigit[i]=0;
while( (c=getchar()) != 'Q')
if (c>='0' && c<='9')
++ndigit[c-'0'];
else if ( c ==' ' || c =='\n' || c=='\t')
++nwhite;
else
++nother;
printf("digits =");
for(i=0;i<10;++i)
printf(" %d",ndigit[i]);
printf(", white space = %d, other = %d\n",nwhite,nother);
}
The declaration:
int ndigit[10];
定义了从ndigit[0]…ndigit[9],
A subscript can be any integer expression,whici includes integer variables like i, and integer constants.
C-'0'
This works only if ‘0’,’1’…’9’; an integer expression;
Function
- 等用subroutine
- Encapsulating some computation
return-type function-name ( parameter declarations, if any)
{ declarations
statements }
- For example:
int power( int base, int n)
{ statements }
- 上例中,{ }内的参数名,只适用本例,与main 函数中同名的参数不相关
- The value that power computes is returned to main by the return statement.
return expression;
- There is a return statement at the end of main. Since main is a function like any other, it may return a value to its caller..
- A return value of zero implies normal termination; non-zero values signal unusual or erroneous termination conditions.
- We have omitted return statements from our main function up to this point, but we will include them hereafter, as a reminder that programs should return status to their environment.
int power(int , int );
- just before main says that power is a function that expects two int arguments and returns an int. Called a function prototype.