#include "stdio.h"int main(void){int a=100,b=100;for(int n=1;a>=b;n++)//我把它放在這里就通不過(guò),提示未定義。但是我把它拿出來(lái),放在上面一行,就可以,這是為什么。還有我用的是codeblocks還有我這個(gè)//的用法對(duì)不對(duì)?{b=(100*1.05)*n;a=100+100*0.1*n;}printf("The cost is a is %d and b is %d and n is %d",a,b,n);return 0;}
2 回答

SMILET
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
這是變量的作用域問(wèn)題
如果你把變量n定義在for里,那它的作用域就在for塊了,for{}循環(huán)外面是不能使用這個(gè)變量的。
你在for循環(huán)結(jié)束后,想輸出n,這是錯(cuò)誤的,會(huì)提示你n沒(méi)有定義。
所以你應(yīng)該把n的定義放在for外部,這樣,整個(gè)main函數(shù)都可以使用了

慕沐林林
TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
這個(gè)是編譯器的問(wèn)題有些編譯器支持在for里面定義變量然后在for循環(huán)里面使用,
但有些編譯器不支持//只能注釋一行多行的話用/* ........*/注釋更多的部分可以用#if 0.....#endif
- 2 回答
- 0 關(guān)注
- 203 瀏覽
添加回答
舉報(bào)
0/150
提交
取消