请问老师这段代码输出的结果怎么不对啊,C怎么不等于0呢?
int main(int argc, const char * argv[]) { @autoreleasepool { int a = 3; int b = 8; int c = 0; while(b>a){ c = b-a; NSLog(@"c=%d",c); a++; } a++; NSLog(@"a=%d",a); NSLog(@"b=%d",b); NSLog(@"c=%d",c); } return 0; }
正在回答 回答被采纳积分+1
// 你的代码执行顺序及结果,1、2、3、4、5代表第几步执行
int main(int argc, const char * argv[]) {
@autoreleasepool {
int a = 3;
int b = 8;
int c = 0;
while(b>a){
// 1、c = b-a 即 c=8-3=5
// 2、c=8-4=4
// 3、c=8-5=3
// 4、c=8-6=2
// 5、c=8-7=1
c = b-a;
NSLog(@"c=%d",c);
// 1、a++ 即a=3+1=4
// 2、a++ 即a=4+1=5
// 3、a++ 即a=5+1=6
// 4、a++ 即a=6+1=7
// 5、a++ 即a=7+1=8 此时b不大于a跳出循环
a++;
}
NSLog(@"a=%d",a);// a=8
NSLog(@"b=%d",b);// b=8
NSLog(@"c=%d",c);// c=1
}
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
int a = 3;
int b = 8;
int c = 0;
while (b>a) {
// 1、c=b-a=8-3=5
// 2、c=b-a=8-4=4
// 3、c=b-a=8-5=3
// 4、c=b-a=8-6=2
// 5、c=b-a=8-7=1
// 1、c=b-a=8-3=5
NSLog(@"c=%d",b-a);//这种方式其实打印的是b-a的值,并没有真正意义上将b-a的值赋值给c
// 1、a++=3+1=4
// 2、a++=4+1=5
// 3、a++=5+1=6
// 4、a++=6+1=7
a++;
}
NSLog(@"a=%d",a);// a=8
NSLog(@"b=%d",b);// b=8
NSLog(@"c=%d",c);// c=0 这里因为c在开始赋值的初始值是0,所以最终打印的值就是0
}
return 0;
}
- 参与学习 1337 人
- 提交作业 712 份
- 解答问题 1878 个
很多人都在疑问没有基础该怎么学习iOS开发?不用担心,本路径采用游戏关卡式的教学模式,并且以经典OC与最新Swift双重结合的教学内容,帮助大家快速掌握两种iOS开发语言基础,去掉“零”标签。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星