main()
{
int i,a[10];//定义一个整形变量i和一个整型数组a,a含有十个整形元素
for (i=0;i<10; i++ )//for循环,循环10次
a[i]=i;//使用for循环给数组a赋值,a[0]=0,a[1]=1,a[9]=9;
for (i=9;i>=0;)//循环10次,但是请注意,这里for循环的更新条件缺失i--,会导致程序死循环
printf ("%4d",a[i]);//使用for循环逆序输出数组a的元素
printf("\n");
}
这个程序看不出区别,原理是这样的:a++,是先使用变量a,再执行++(加1);而++a刚好相反,在程序使用变量a之前先执行++,也就是说此时程序使用的a值加过1。你的程序是打印输出,先后执行++不影响最后输出结果,在一些运算优先级会影响结果的地方就能看出不一样
++a和a++,都是个表达式,最后的结果就取决于是先加,还是后加,如果是先加,那么最后的表达式的结果就是a的值加1,如果是后加的话,则表达式的值就是原来a的值;而无论是先加,还是后加,a的值计算后一定会加1。比如:
如果a=1,b=a++,运算完b=1,a=2
如果a=1,b=++a,运算完b=2,a=2
typedef struct { int num;double s;} REC;
上面这一句是定义了一个结构, 成员包括一个整型数,取名num, 一个双精度浮点数,取名s, 并且用typedef给这样一个结构取了别名叫REC 凡是后面出现REC就是表示这个结构类型。
REC a={16,900};就是声明变量a为上述的结构类型,并初始化它的成员。
anum就表示变量a的成员num
A与D的区别在于两点:
循环退出的条件不同,i<10 和 i<=10。前者只会循环10次,后者会循环11次,会导致数组访问越界,这是本题目不能选D的根本原因。
条件判断时,判断不完全一致,这个不影响本题目,算作额外的tips。i % 2 == 1仅在判断自然数奇偶性时成立。当拓展到全整数集时,只有 i % 2 != 0才可以算作是奇数,因为负奇数%2的值为-1。
以上就是关于在C语言中这个程序段中a[i]怎么理解 #include<stdio.h> main() {全部的内容,包括:在C语言中这个程序段中a[i]怎么理解 #include<stdio.h> main() {、c语言中a加加和加加a的区别,这个程序运行结果怎么解释、c程序中++a与a++是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)