4-6编程问题

4-6编程问题

为什么我输出的结果是 先输出个20  再输出成年人,我没让他输出20呀

正在回答 回答被采纳积分+1

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

3回答
Tender10 2017-09-28 16:34:20

把这个NSLog(@"%d",p1.age); 语句删掉就不会有了。

  • 提问者 无为自然 #1
    还有两个问题,第一,不管我输的什么,都显示未成年人,但是20已经是成年人了。第二 还有有个0,Program ended with exit code: 0
    2017-09-28 16:38:30
  • Tender10 回复 提问者 无为自然 #2
    第一个原因你可以参考一下我贴出的代码,是否正确进行了判断,是否年龄需要大于等于18。第二个0是代表程序退出了,那是系统的事,你就不需要管了。
    2017-09-28 16:42:48
  • 提问者 无为自然 回复 Tender10 #3
    明白了 谢谢老师
    2017-09-28 16:47:28
Tender10 2017-09-28 16:32:47

我指的是NSLog输出语句,如下在set方法中输出语句,如果不输出是不会显示的。

-(void)setAge:(int)newAge{

    if(newAge>=18){

        NSLog(@"成年人");

    }else{

        NSLog(@"未成年人");

    }

    _age=newAge;

}


  • 提问者 无为自然 #1
    你是用newAge判定的,我直接用age判定不是一样的吗
    2017-09-28 16:51:44
  • _age=newAge;为什么要放到最后呢?还有为什么age前面要加一个下划线呢?
    2017-09-30 09:46:04
  • Tender10 回复 提问者 无为自然 #3
    因为你现在是给人赋值了年龄,所以得判断你赋值的这个年龄是否大于18岁啦,然后再输出对应的结果。
    2017-09-30 09:49:50
Tender10 2017-09-28 11:34:09

您好,你可以将您的代码贴出,便于更精确的帮助您解决问题。既然有输出,应该是代码中有NSLog输出了年龄,你可以检查一下,如果不明白建议可以将代码贴出哦!

  • 提问者 无为自然 #1
    我自己用编译器就可以,但是多输出两个0
    2017-09-28 11:37:48
  • Tender10 回复 提问者 无为自然 #2
    你将你的代码复制一下吧,我可以帮你检查一下原因。我在编译器测试了一下是可以正常输出的。
    2017-09-28 11:41:52
  • 提问者 无为自然 回复 Tender10 #3
    我在公司用的虚拟机 家里才用的mac。老师有4-6的标准答案吗,我可以自己琢磨下
    2017-09-28 11:44:20
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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