第一个 j %d 为什么变成0-9
第二个 j %d 为什么会是100-109呢
明明他在运算 n[i] = i + 100;而 j 只输出内容 ,最后却有数值了呢
#include<stdio.h>//声明数组、数组赋值、访问数组
int main()
{
int n[10];
int i, j;
for (i = 0; i < 10; i++)
{
n[i] = i + 100;
}
for (j = 0; j < 10; j++)
{
printf("Element[%d]=%d\n", j, n[j]);
}
return 0;
}
最终输出结果:
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104 Element[5] = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109
printf("Element[%d]=%d\n", j, n[j]);中%d表示格式化输出整型数据,第一个%d对应于后面第一个数据,第二个%d对应第二个,所以第一个%d数据的位置会依次输出j的值,也就是从0到9,第二个%d数据的位置会数据n[j],也就是n[0]到n[9].
for (j = 0; j < 10; j++) j从0变到9,所以j有值。
n[j]也是从n[0]到n[9],也就是从100到109
第一个for循环后,数组n[10]值,即n[0]--n[9]值为100-109,第二个for循环数组依次打印出来, 第二个for循环“printf("Element[%d]=%d\n", j, n[j]);”中 第一个%d 对应 j 的值,第二个%d 对应n[j]的值,for 循环执行时 j 的值依次为
0-9,n[j]的值依次为100-109,所以结果如题中的结果