本文主要是介绍360公司2015年秋季校园招聘笔试考卷(技术类 D)部分试题程序验证和解析3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一 原题
(18)以下程序的输出是:
void main(int argc, char **argv)
{int i;for(i = 0;i < 3;i++){switch(i){case 0:printf("%d",i);case 2:printf("%d",i);default:printf("%d",i);}}
}
A 000102 B 000020 C 000122 D 000111
答案: c
二 程序验证
因为linux下程序必须有返回值,将main函数的返回值改成int类型。
程序如下:
int main(int argc, char **argv)
{int i;for(i = 0;i < 3;i++){switch(i){case 0:printf("%d",i); case 2:printf("%d",i);default:printf("%d",i); }} return 0;
}
运行结果:
三 解析
switch语句快后没有break时会执行当前case后面的case语句,直至遇到break或者到达switch语句块末尾。
当i = 0时,”case 0“后面的printf语句输出完,之后没有break;继续执行"case 2"和"default"语句块,直到到达switch语句块的末尾。
四 进一步验证:
程序修改如下:
#include <stdio.h>int main(int argc, char **argv)
{int i;for(i = 0;i < 5;i++){switch(i){case 0:printf("%d",i);case 2:printf("%d",i);case 4:printf("%d",i);break;default:printf("%d",i);}}printf("\n");return 0;
}
运行结果:
这篇关于360公司2015年秋季校园招聘笔试考卷(技术类 D)部分试题程序验证和解析3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!