|
蓝森林 http://www.lslnet.com 2006年6月6日 10:18
[菜鸟求救]!有关数组名的一个问题!
#include<stdio.h>;
main()
{
int array[2]={1,2};
printf{"%d\n,%d",&array.array};
}
结果是-1073748512
-1073751200
我十分困惑。请各位高手指点一下。万分感谢! |
[菜鸟求救]!有关数组名的一个问题!
你确定你的程序能编译通过?? |
[菜鸟求救]!有关数组名的一个问题!
第5行的printf
打印的是地址啊。也不能是{}这个意思。
array.array
离奇啊,应该是‘,’ |
[菜鸟求救]!有关数组名的一个问题!
&array.array没看懂 |
[菜鸟求救]!有关数组名的一个问题!
| [菜鸟求救]!有关数组名的一个问题!
-->
菜鸟我建议你看看C语言的数组,指针和结构体. :) |
[菜鸟求救]!有关数组名的一个问题!
刚才的是笔误。
#include<stdio.h>;
main()
{
int array[2]={1,2};
printf{"%d\n,%d",&array,array};
}
结果是-1073748512
-1073751200 |
[菜鸟求救]!有关数组名的一个问题!
{"%d\n,%d",&array,array};
这能编译通过吗?另外,请说明你使用的是什么操作系统,什么编译器。 |
[菜鸟求救]!有关数组名的一个问题!
我在WINDOWS下装了LINUX的虚拟机 |
[菜鸟求救]!有关数组名的一个问题!
{"%d\n,%d",&array,array};
这是一个复合语句。你的编译器编译能够通过令我感到很吃惊。
改成
printf("%d\n, %d", &array, array);
注意是小括号'(' ')', 而不是大括号'{' '}' |
[菜鸟求救]!有关数组名的一个问题!
谢谢了。这都是我的笔误。不过结果还是上面那样。乱 |
[菜鸟求救]!有关数组名的一个问题!
-->
改了还是不能编译,错误信息为:
test.c: In function `main':
test.c:13: stray '\243' in program
test.c:13: stray '\254' in program
test.c:13: syntax error before "array" |
[菜鸟求救]!有关数组名的一个问题!
把这个剪切粘贴到你的编辑器里,然后编译运行
应当是你不知道在那里使用了错误的字符。
[code]
#include <stdio.h>;
#include <stdlib.h>;
int main()
{
int array[2] = {1, 2};
printf("%d\n, %d", &array, array);
exit(EXIT_SUCCESS);
}
[/code] |
[菜鸟求救]!有关数组名的一个问题!
我在LINUX虚拟机上可以编译。我再去windows 下试试 |
[菜鸟求救]!有关数组名的一个问题!
[code]
int main()
{
int array[2] = {2,1};
printf("%d\n,%d\n", &array, array);
return 0;
}
[/code]
[code]
int main()
{
int array[2] = {2,1};
printf("%p\n,%p\n", &array, array);
return 0;
}
[/code]
是一样的,打印的都是地址 |
[菜鸟求救]!有关数组名的一个问题!
那再请教一下,array和&array的含义。
比如
int array[2];
int (*p)[2]=&
int *q=array; |
[菜鸟求救]!有关数组名的一个问题!
那再请教一下,array和&array的含义。
比如
int array[2];
int (*p)[2]=& array;
int *q=array; |
[菜鸟求救]!有关数组名的一个问题!
-->
由于数组是一个比较特殊的“对象”,所以他们是一样的。 |
[菜鸟求救]!有关数组名的一个问题!
基本上一样,都是首地址。 |
[菜鸟求救]!有关数组名的一个问题!
&array没有意义吧 |
| |