当前位置: 代码迷 >> C语言 >> 关于数组以及"&"符号
  详细解决方案

关于数组以及"&"符号

热度:431   发布时间:2008-06-10 22:52:02.0
提示: 作者被禁止或删除 内容自动屏蔽
2008-06-10 14:52:02
StarWing83

来 自:湖北工业大学
等 级:贵宾
威 望:19
帖 子:3946
专家分:748
注 册:2007-11-16
  得分:0 
燕子你写char* s="...";printf(s,...);故意搞乱代码么?
----------------解决方案--------------------------------------------------------
[bo][un]StarWing83[/un] 在 2008-6-10 23:40 的发言:[/bo]

燕子你写char* s="...";printf(s,...);故意搞乱代码么?

因为直接写的话GCC会有警告



[color=white]
----------------解决方案--------------------------------------------------------
加个强制类型转换就没警告了嘛……

#include <stdio.h>
int main()
{
    int a[4];
    int m=(int)((&a)+1), n=(int)((a)+1);
    printf("%d %d %d\n", (int)((&a)+1), (int)((a)+1), m-n);
    return 0;
}

[[it] 本帖最后由 StarWing83 于 2008-6-11 02:14 编辑 [/it]]
----------------解决方案--------------------------------------------------------
或者使用一个非标准的格式控制符,%p,专门用来显示指针的……
----------------解决方案--------------------------------------------------------
  相关解决方案