碧海潮声大学生网
标题:
〖讨论〗讨论下代码
[打印本页]
作者:
only
时间:
2006-11-27 12:29
标题:
〖讨论〗讨论下代码
#include <stdio.h>
void main()
{
int a[2],b[2];
b[1]=4;
printf("%d",a[-1]);
}
该代码会不会编译通过,如果可以,那么输出结果是什么?
对于这种代码!delphi同样存在这个问题!有意思!
================================================
#include <stdio.h>
void main()
{
int b[2],a[2];
b[1]=4;
printf("%d",a[-1]);
}
该代码会不会编译通过,如果可以,那么输出结果是什么?
作者:
笨笨啊
时间:
2006-11-27 12:37
应该会报错,呵呵
作者:
我是誰
时间:
2006-11-27 12:48
C语言一般编译是不会报错,但输出的结果就不一定了。取出的a[-1]是a之前的两个字节内存中的内容。不过像这种代码,如果改成:
void main()
{
int b[2],a[2];
b[1]=4;
printf("%d",a[3]);
}
是可以得到b[1]的值4的。
作者:
我是誰
时间:
2006-11-27 12:53
我估计你的意思是这个:
void main()
{
int a[2],b[2];
a[1]=4;
printf("%d",b[-1]);
}
这样也是可以输出a[1]的值4
欢迎光临 碧海潮声大学生网 (http://www.zjoubbs.com/)
Powered by Discuz! X3.2