返回列表 发帖

一道c的基本功题目

一道招聘新人用的题目,呵呵,大家来做做 阅读如下程序代码: inti; intnum[10]; for(i=1;i<=10;i++) num = 0; printf("loop end."); 判断:程序的运行结果可以输出"loop end."吗?为什么?

一道c的基本功题目

为什么不能,说理由嘛。。

TOP

一道c的基本功题目

大家继续发表意见,晚点我就把答案公布出来!

TOP

一道c的基本功题目

哈哈,还是x86厉害!
答案:不能输出,因为局部变量的分配方式采用的是栈方式。
当num中i=10时,实际上num[10]和i的地址相同,对num[10]赋于0时,也使得i等于了0;
所以这个for循环是和死循环。
考察点:局部变量的分配方法。

TOP

返回列表 回复 发帖