| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 457 人关注过本帖
标题:感觉乱的指针题
只看楼主 加入收藏
gshzyfx
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-7-12
收藏
 问题点数:0 回复次数:1 
感觉乱的指针题

1.
rev(*m)
{
*m++;
}
main()
{
int a;
int *p = &a;
rev(&a);
printf("%d,%d\n", a, *p);

}

2.
rev(*m)
{
*m++;
}
main()
{
int a;
int *p = &a;
rev(p);
printf("%d,%d\n", a, *p);

}

搜索更多相关主题的帖子: 感觉 指针 
2007-07-14 16:32
yohji
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-7-14
收藏
得分:0 
答案很简单:未定义行为!a未被赋初值!

想知道你的程序有多么糟糕吗?看下面:

$ gcc -Wall -W -pedantic -std=c99 -o bad bad.c
bad.c:1: 错误:expected declaration specifiers or ‘...’ before ‘*’ token
bad.c:2: 警告:返回类型默认为 ‘int’
bad.c: 在函数 ‘rev’ 中:
bad.c:3: 错误:‘m’ 未声明 (在此函数内第一次使用)
bad.c:3: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
bad.c:3: 错误:所在的函数内只报告一次。)
bad.c:4: 警告:在有返回值的函数中,控制流程到达函数尾
bad.c: 在顶层:
bad.c:6: 警告:返回类型默认为 ‘int’
bad.c: 在函数 ‘main’ 中:
bad.c:10: 警告:隐式声明函数 ‘printf’
bad.c:10: 警告:隐式声明与内建函数 ‘printf’ 不兼容


http:///
2007-07-14 19:57
快速回复:感觉乱的指针题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019083 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved