本帖最后由 远人 于 2014-4-4 13:14 编辑
- #include <stdio.h>
- int main(int argc, const char * argv[])
- {
- char c = 'A';
-
- switch (c) {
- case 'A':
- printf("1\n");
- break;
- case 65:
- printf("2\n");
- break;
- default:
- printf("3\n");
- break;
- }
- return 0;
- }
复制代码
这是老师讲解函数内存剖析中char类型使用注意事项的一个问题。
老师说第一个case'A'和第二个case65重复,所以报错。
我想问的是:这段代码编译语法没问题,编译通过,那么以前老师讲过,当运行第一个case'A'正确完毕时,这里的break就会退出整个函数,就不会运行第二个case65,那为什么这里运行会失败? |