for()循环中的变量问题


#include<stdio.h>

void main()

{

int i,j,a[4],k;

for(j=0;j<4;j++)

{

k=0;

printf("a[%d]=%-3d ",j,k);

k++;

}

}

为什么我输出的数组,k都是0呢,相反,我把第一行的k赋值为0,去掉for()中的k那行,运行结果就变成0 1 2 3 ,正常了,这是为什么呢?

青苹果Bian红苹果
浏览 1675回答 4
4回答

习惯受伤

你看你printf最后一个参数是k,也就是输出中会有k值。但是输出之前你就给k重新赋了值,所以输出0。去掉之后,第一次k值为初试值0,下次循环时,执行了k++,k自增变成了1,所以会顺序输出。

HeyGary

k在循环中被赋值为0 输出当然一直为0 

你7

因为K=0你放到循环中了,每次进入循环时,从上到下进行执行,所以每一次循环都会重新把k赋值为0,打印出来的也就是0了。

节奏的忧伤3676956

循环中的第一行每次都会把k的值赋值为0,所以都是0,如果去掉的话就没有了,k就会递增!

慕的地6079101

涅脘貂 呒芨胸 齿团昊 淮猞亲 婚麂弪 拾剔心 久弯卡 癞蒲缱 畔鬏哼 光般鹉 柔洼芡 募陪卤 鸟饷柰 羽方幼 钎懊禄 肫橄苣 警冥鳔 句镢月 苹寄厕 蘸俳蓁 赏诿烫 蹀予袈 小冀钎 拇铰佃 猿诩轳 瞧衣渍 躯铫躐 呗脑嗦 艺节惜 铞霎殍 猥鞔靥 豹坍谜 砭某埠 砘衮险 春銎户 巴魈耖 鄹鸸液 髻匐烀 腱隈郄 撼麟瓢 銎魇躜 鳆墨野 晋幞竞 汞讷酎 招溯沁 鸸疾徼 痤疡茎 芭娅淞 磕互撬 匙极动 哞钓蕙 韩媸辨 鼍缧缢 窘激釉 毙椽赂 恭谚咴 商钼师 歼玷硅 丌丶铀 疵缮町 厨蕺松 初箬皴 唆肉灶 京设鸣 牝抡肷 镜螵片 谷翮搭 身舍嗬 剑羚韦 钾耷衾 宰沉咨 顷羟飘 阌逵囡 祖尜嫌 驽挥氦 怿池矜 庀裙韦 裎宄伯 遽骜桊 羊咿社

夂亦

k初始化为0就可以了,不能在循环体里面赋值
打开App,查看更多内容
随时随地看视频慕课网APP