免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1261 | 回复: 5
打印 上一主题 下一主题

[C] 关于exit 问题请教???? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-13 15:06 |只看该作者 |倒序浏览
这个是我随意测试的, 在 W xp    Visual C++ 环境下运行的。


int foo(void);

int main(void)
{
    char ch='0';
    int j=0;
    while(1) {
        switch ( ch=getchar()) {

            case '1':
               printf(" case: 1\n");
               break;
            case '2':
               printf(" case: 2\n");
               break;
           case '3':
               printf(" case: 3\n");
               break;
           case '4':
               printf(" case: 4\n");
               break;
           default:
                j=foo();
                printf(" default: END %d\n",j);
        }
    }
    return 0;
}

int foo(void)
{
    printf(" foo runing \n");
    exit;                                     问题在此处,我的理解是  exit 这条语句运行完就退出了,下面 return 这条语句不会执行,可是结果却是 retuan 将 5返  
                                                回了。
    return 5;
}


谢谢!!!

论坛徽章:
0
2 [报告]
发表于 2009-02-13 16:48 |只看该作者
哇,你这是写的什么?

exit()?

论坛徽章:
0
3 [报告]
发表于 2009-02-13 16:52 |只看该作者
楼主问错地方了,windows下c/c++开发不是另外有个链接的吗

论坛徽章:
0
4 [报告]
发表于 2009-02-13 18:02 |只看该作者
没加(),当成函数地址了,成空语句了!

论坛徽章:
0
5 [报告]
发表于 2009-02-13 18:07 |只看该作者
汗,VC不会报warning吗?GCC编译的时候,会有warning提示。

论坛徽章:
0
6 [报告]
发表于 2009-02-13 18:24 |只看该作者
哇,事实证明 LZ 很帅。
exit() 也是有参数的,我说编译器怎么不报参数不够的错误呢,原来是当作空语句处理了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP