C 程序问题 (二) - C/C++ / C语言
问一下:
#include <stdio.h>
int main()
{
char x, y, z;
int i;
int a[16];
for(i=0; i<=16; i++)
{
a[i] = 0;
printf("%x %x \n", &a[i], &i);
}
return 0;
}
请问,上面这段代码,为什么会死循环输出地址啊?
a[16]越界,修改了i的值
没问题啊。code::block结果:
22ff20 22ff68
22ff24 22ff68
22ff28 22ff68
22ff2c 22ff68
22ff30 22ff68
22ff34 22ff68
22ff38 22ff68
22ff3c 22ff68
22ff40 22ff68
22ff44 22ff68
22ff48 22ff68
22ff4c 22ff68
22ff50 22ff68
22ff54 22ff68
22ff58 22ff68
22ff5c 22ff68
22ff60 22ff68
Process returned 0 (0x0) execution time : 0.297 s
Press any key to continue.
a[16]越界可能出现死循环么?
关于a和i的内存分配,不同编译器可能有不同的处理,所以这段代码不见得在所有环境都是死循环。
但是,如果出现了四循环,原因就应该是i=16的时候a[i]=0越界结果把i清0。
把for里面的i <=16改成i<16就肯定不会有死循环了。
楼上的,学习了~
C/C++ code:
#include <stdio.h>
int main()
{
char x, y, z;
int i;
int a[16];
for(i=0; i <=15; i++)
{
相关问答:
以前在VC里面建一个工程,都只用一个 .c 文件,昨天在一个工程里用了两个 .c文件了,遇到问题了,请大家指点。比如:
File1.c Fil ......
编译普通的c没问题啊,但编译javah生成的就报错:
gcc -O0 -g3 -Wall -c -fmessage-length=0 -oHelloWorld.o ..\HelloWorld.c
gcc -otest.exe HelloWorld.o
d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../. ......
C\C++如何计算函数的导数,本人新手,想写个程序,但是不知道如何下手,还望高手指点一二,谢过。
这个……
跟函数的具体形式有关吧,难道你想编出个“万能”的求导函数?
俺上学时想过自动推导公式,后来 ......
由于公司发展需要,在此真诚寻找开发人员,要求如下:
岗位职责:
1、核心代码编写;
2、确保软件产品的质量;
岗位要求:
1、熟悉C及C++程序设计,熟悉汇编语言,熟悉C/C++标准库。
......
有16匹马,共3个跑道,找出其中跑的最快的4匹马出来,设计算法。
没听懂什么意思.
我的思路:
从16匹马中,先任选3匹比赛,淘汰最慢的二匹,再从剩下的14匹马中任选3匹比赛,递归,得出最快的前4 ......