黑马程序员技术交流社区

标题: 问个问题,这个为什么不报错,大神进 [打印本页]

作者: 张健康ios0826    时间: 2015-9-6 12:21
标题: 问个问题,这个为什么不报错,大神进
char * getDay(int n){
   
    //这是定义一个字符串指针数组
    char *days[]={
        
        "星期一:苦逼的开始",
        "星期二:无语",
        "星期三:习惯就好",
        "星期四:快解放了",
        "星期五:心花怒放",
        "星期六:休息真无聊",
        "星期日:爱在心里难开",
        
    };
   
    return n<8&&n>0 ? days[n-1]:"回土星去!";
   
}


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

   
    printf("请用数字1--7输入星期将返回内容\n");
   
    int a;
   
    scanf("%d",&a);
   
    printf("%s\n",getDay(a));
   
    return 0;
}

老师的代码,函数里最后一个字符串后面为什么还有个逗号也能运行,去掉这个逗号也能运行
作者: 15095185209    时间: 2015-9-6 13:31
也想知道给你顶上去吧
作者: 1wang2huan    时间: 2015-9-6 14:28

指针数组初始化的时候最后可以多一个逗号,
这个为什么,我认为要去问乔布斯!
但是不建议这么写!
至于老师为什么这么写,大概是疏忽大意,没有删去!
结论:正常定义即可!
作者: yibyli    时间: 2015-9-6 14:37
楼上正解




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2