签到

06月20日
尚未签到

共有回帖数 0

    霜晨守候

    等级:
    主要代码:
    char * str = "?";
    if(!str)
    {
    char *str = (char*) malloc (100);
    if(!str) return -1;
    str[0] = 'a';
    }
    printf("%cn",*str);
    system("pause")

    我理解的是,应该会报错,至少他是重定义了。至于打印出来为什么是 ? 而不是 a ,这段代码,我不敢多说什么。但是
    char * str = "?";
    if(!str)
    {
    char *str = (char*) malloc (100);
    if(!str) return -1;
    str[0] = 'a';
    }
    printf("%cn",str[0]);
    system("pause")


    把printf改成打印str[0] 我认为会打印出 a 但是,还是? 不信你们去试试。这里我就不理解了,malloc 我又没有free 掉,而且程序又没有结束,为什么打印不出来。

    楼主 2015-09-02 20:21 回复

共有回帖数 0
  • 回 帖
  • 表情 图片 视频
  • 发表

登录直线网账号

Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号 意见反馈 | 关于直线 | 版权声明 | 会员须知