刚刚在一商业网站上看到的题目,大家试试哈~~ 1、如何在下面的test函数里加入代码可以使程序运行起来输入和输出的相等? (环境是vc6Debug方式下) #include void test() { int t; scanf("%d",&t); 在这里加入代码 } main() { int m; test(); printf("m=%d",m); } 2、请运行下面的代码,观察结果,有人说怎么是死循环,你同意吗?为什么? #include int main() { int i = 0; int name[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for (i = 0; i <= 10; i++) { name[i] = 0; printf("ok\n"); } return 0; } ===========================
1.
#include <stdio.h> void test() { int t; scanf("%d",&t); *((int*)*(&t + 1)-1) = t; } main() { int m; test(); printf("m=%d",m); }
2.
vc下编译会出现死循环 但是我在MinGW下不会. 编译器不同,实现也不同的. |