断点调试时只能一行一行的点击语句点吗

断点调试时只能一行一行的点击语句点吗

有快速选中多行语句的方法吗!

(这题真的难。。编程逻辑我都想不出来 QAQ


正在回答

登陆购买课程后可参与讨论,去登陆

3回答

断点调试可以使用快捷键command+\这样就快了不需要点击了。

实现思路给你一点提示:

(1)1*1=1 首先第一个1可以用变量i代替,第二个用变量j代替,第三个就是i*j的结果。

(2)通过for循环遍历可以打印1~9的数字,那么打印九九乘法表就可以通过for循环的嵌套来实现。

(3)变量i应该需要从1~9,那么第一层for循环就是for(int i= 1; i<=9; i++)

(4)变量j也应该需要从1~9,但是第一行只有1*1,第二行最多只能到2*2,所以j的变量始终是小于等于i的变量,也就是for(int j = 1;j<=i;j++)

(5)嵌套起来就如下代码所示,然后在代码中实现乘法运算。你可以尝试实现一下。

for(int i= 1; i<=9; i++){

       for(int j = 1;j<=i;j++){

              

       }

}


  • 慕雪5699833 提问者 #1
    非常感谢!
    2017-06-10 09:13:19
  • 慕雪5699833 提问者 #2
    老师看下我的问题谢谢!
    2017-06-10 10:36:36
Tender10 2017-06-10 17:11:31

int main(int argc, const char * argv[]) {

    @autoreleasepool {

        int i=1;

        int j=1;

        for(i=1;i<=9;i++){

            for(j=1;j<=i;j++){

              NSLog(@"%d*%d=%d",i,j,i*j);

        }

     }

    return 0;

}

这两者之间肯定是有区别的啊,因为第一种你已经出了第二个循环的作用域了,你想j的数字也输出肯定需要在最里层的for循环。


提问者 慕雪5699833 2017-06-10 10:35:58

int main(int argc, const char * argv[]) {

    @autoreleasepool {

        int i=1;

        int j=1;

        for(i=1;i<=9;i++){

            for(j=1;j<=i;j++);

        }

        NSLog(@"%d*%d=%d",i,j,i*j);

     }

    return 0;

}


上面的代码输出结果

1*0=02*0=03*0=04*0=05*0=06*0=07*0=08*0=09*0=0Program ended with exit code: 9

我在断点里也没发现j有增加,为什么直接跳过了内层循环呢。。。而且该咋做啊。。。


  • 提问者 慕雪5699833 #1
    int main(int argc, const char * argv[]) { @autoreleasepool { int i,j; for (i=1;i<=9;i++){ for (j=1;j<=9;j++){ NSLog(@"%d*%d=%d",i,j,i*j); NSLog(@"\n");} } } return 0; } 好像得出正确的了...但是为什么会有这样的区别呢....求科普
    2017-06-10 11:01:01
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
iOS入门:基础语法与常用控件
  • 参与学习       1337    人
  • 提交作业       712    份
  • 解答问题       1878    个

很多人都在疑问没有基础该怎么学习iOS开发?不用担心,本路径采用游戏关卡式的教学模式,并且以经典OC与最新Swift双重结合的教学内容,帮助大家快速掌握两种iOS开发语言基础,去掉“零”标签。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师