问个好简单的C问题
#include "stdio.h"
#define N 5
int a[N]={10,20,30,40,50};
main()
{int i;
float s,v;
for(s=i=0;i <N;i++)
s=s+a[i];
v=s/N;
ptintf("The average is % 6.2f\n",v);
}
我的问题就是代码的第2行和第3行,第2行是给N赋值为5,为什么第3行不直接写成int a[5]={10,20,30,40,50};
而要多写出第2行代码来呢?
因为第3行可能写到任何位置,如果以后要修改程序时,当然是修改的2行方便了,
下面的程序都不需要修改!
修改int a[]这个数量需要先找到它,然后再修改。而且不止一个地方需要修改。
程序里不止一个地方用到N,方便你以后要改N的值,就可以直接改#define那行,而不用在程序里每个出现N的地方都改
我的问题就是代码的第2行和第3行,第2行是给N赋值为5,为什么第3行不直接写成int a[5]={10,20,30,40,50};
而要多写出第2行代码来呢?
------------------------
如果你直接写a[5],如果你以后修改N的值的话,不是要修改很多地方。
第2行代码多余吗?
第二行是宏定义,N就表示5,代码中出现单独的N的地方就用5去代替,这个替换工作是在编译期完成的,和你说的一样,可以直接用写a[5],但是这样一来后面的循环也得改成i <5,如果用到5的地方多了,有一天你想把5改成6的时候你就发现第二行并不是多的
你这里主要是用到了宏定义.
看看后面的循环,用到了N.
N代表数组的大小,如果想要遍历整个数组,那就得这样写了.
谢谢各位大哥啦
相关问答:
在查询后将查询出来的值赋给各输入框
<c:if test="${not empty dataValue}">
fm.SAMPLING_DATE.value=" <c:out value='${dataValue.SAMPLING_DATE}'/ ......
13个人围成一圈,从第一个人开始顺序报号1,2,3。凡报到3者退出圈子,找出最后留在圈子中的人原来的序号
结果应该是13 可我的程序的结果是11 希望好心人帮改一下
#include <stdio.h>
#include < ......
以前在VC里面建一个工程,都只用一个 .c 文件,昨天在一个工程里用了两个 .c文件了,遇到问题了,请大家指点。比如:
File1.c Fil ......
你们现在还在用C吗?C有前途吗?
一定,并永远坚持
引用
一定,并永远坚持
顶
有用。
楼主何出此言
楼主来c版问这个问题是踢馆用意吗哈哈
越来越冷是肯定的,完全淘汰倒也没那么容易
c ......
#include <stdio.h>
main()
{
int a,b,sum;
a=1;b=2;
sum=a+b;
printf("sum is %d\n");
}
结果是:2367460
为什么?
printf("sum is %d\n", ......