求助代碼問(wèn)題!?。。?!
#include <stdio.h>
int main()
{
? ?int i=0;
? ?int j=2;
? ?int ret=0;
? ?while(!i)
? ?{
? ? ? ?int ret=i+j;
? ? ? ?i++;
? ?}
? ?printf("%d",ret);
? ? return 0;? ??
}
求助為什么while里的ret前面加int就輸出結(jié)果為0,不加int結(jié)果就為2;
#include <stdio.h>
int main()
{
? ?int i=0;
? ?int j=2;
? ?int ret=0;
? ?while(!i)
? ?{
? ? ? ?int ret=i+j;
? ? ? ?i++;
? ?}
? ?printf("%d",ret);
? ? return 0;? ??
}
求助為什么while里的ret前面加int就輸出結(jié)果為0,不加int結(jié)果就為2;
2021-08-08
舉報(bào)
2021-08-09
ret前不加int,就使用的是while語(yǔ)句外的ret變量,因?yàn)橘x值為0,所以是0.
ret前佳int,定義的int ret就是while語(yǔ)句內(nèi)的變量,相當(dāng)于語(yǔ)句內(nèi)的局部變量,會(huì)按照語(yǔ)句內(nèi)程序運(yùn)行得出結(jié)果。