| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1070 人关注过本帖
标题:FAQ新增条目建议
只看楼主 加入收藏
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
结帖率:100%
收藏
 问题点数:0 回复次数:11 
FAQ新增条目建议
转自水木社区:

1、程序运行闪一下就没了,看不到运行结果。
以下方法为VC6.0中测试通过。
解决方法一:在程序结束的"}"处设置断点。
解决方法二:用"!",而不是F5执行。
解决方法三:程序头添加#include <stdlib.h>,程序结束处添加system("PAUSE");
TC3.0中方法:
Alt+F5查看Output窗口

2、TC编译提示找不到.obj文件 .h文件。
在菜单中设置路径。详见精华区->常见工具。
TC已经落伍了,跟不上标准,不建议使用。

3、C语言推荐图书
《The C Programming Language》(k&r),
Computer Systems: A Programmer's Perspective (CS:APP)
其他推荐版内查找。

4、do{...}while(0)用途
精华区->[FAQ]常见问题->....的作用/....的通途 -> do{...}while(0)用途

5、(++i)*(++i)*(++i)的值是多少
和编译器相关,编码推荐不使用这种风格的表达式,愿意研究的请自行研究,本版不讨论。
另:同一变量在一个表达式中两次作为左值出现时,表达式的值不确定。比如,(i++)+(i++),i=i++

6、char *p="abcd";为什么不对
"abcd"是一个指针,一个字符串指针,指向的字符串一般保存在常量数据区,不可修改。
所以如果有char *p="abcd";然后*p=9;则会发生运行时错误。
"abcd"[2]值为'c',"abcd"[2]=5显然是不对的,写成p[2]=5或者*(p+2)=5也是不对的。
如果真的需要使用"abcd"作为指针,建议写为const char * p="abcd";
如果是初始化字符串数组,建议写为char p[]="abcd";
如果p为指针,需要初始化,应该是char *p;p=malloc(STR_SIZE);strcpy(p,"abcd");

7、#和##是什么意思?
预处理符号,#表示字符串,比如#define STR(a) #a 则STR(abc)为"abc"
##表示连接,比如#define S(a,b) a##b 则S(a,b)=5为ab=5
详见精华区-〉C语言讲解->常规预处理

8、推荐编译器/集成开发环境?
windows下vc不错但是很大,小一点免费的有dev c++ lcc,单独编译器icc也很好,gcc的偏好者可以用mingw+gcc或者cygwin+gcc
linux下当然的gcc

9、fwrite写入的字节数和结果文件字节数大小不等,结果文件要略大,为什么?
打开文件方式错误,不要用"wt",要用"wb"

10, 数组名是地址么?它和地址的差异在哪里呢?
如果运算需要的话,所有的数组都存在到它元素的指针类型的右值的隐式类型转换。
说数组是本身就是地址是不科学的,而应该说数组能够自动的转化为指向他的元素的指针,
这种转化是单向的,是一种退化,损失了原来数组的大小这个重要的信息。
除了 sizeof 之外,其他运算符作用到数组上的时候,都要发生这种转化,即使取下标
也不例外。
比如整型二维数组w[3][4],
先不要把 w 看作地址。把 w 看作三个四个元素的数组的组成的数组。
sizeof(w) 不转化
sizeof(w+0) 转化,这个和上面的结果的差异仔细观察
ww = w 转化
w[0][0] = 0 两次转化
w = NULL 无法转化
由于那么 w 是三个四个元素的数组组成的数组,那么它就可以隐式地转为
指向四个元素的数组的指针。
ww = w 的时候。做了一次隐式的类型转换,从 T [3][4] 变成 T (*)[4]。

11. 数组和指针的区别
11.0 假设a是数组,p是指针。比如 char a[5]; char *p;
数组和指针是完全不同的类型,当然有区别!!!
11.1 数组有点像label,本身不占空间,占空间的是数组元素。
指针本身占空间,大小为sizeof(T*),当然指向的内容也占空间。
11.2 a 和 &a 类型不同,但是“地址”相同,都是label标记的地址。
11.3 sizeof(a) 等于数组元素的大小 乘以 元素的个数
sizeof(p) 指针本身的大小,其值在32位机器上一般等于4。
11.4 数组本身不能改变,比如a=b或a++都是错误;指针可以改变。数组可以赋值给指针
11.5 函数形参数组完全等同于指针。形象说编译器把数组形参编译为指针形参,也可以说函数声明中不存在数组(形参或返回值)。
11.6 数组的数组和指针的指针完全不同,无法转换。
搜索更多相关主题的帖子: FAQ 条目 quot 
2007-10-01 11:31
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
好东西.

Repeat  Life=Study;Until (death);
2007-10-01 11:33
栖柏
Rank: 2
等 级:论坛游民
威 望:3
帖 子:1103
专家分:17
注 册:2007-8-23
收藏
得分:0 

You have lots more to work on! Never give up!c language!
2007-10-01 11:33
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
收藏
得分:0 
当一天和尚撞一天钟。

偶再撞最后一天钟。
2007-10-03 20:05
栖柏
Rank: 2
等 级:论坛游民
威 望:3
帖 子:1103
专家分:17
注 册:2007-8-23
收藏
得分:0 
以下是引用百年不亮在2007-10-3 20:05:04的发言:
当一天和尚撞一天钟。

偶再撞最后一天钟。

什么意思?


You have lots more to work on! Never give up!c language!
2007-10-03 20:07
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
收藏
得分:0 
偶这版主干到今天晚上或明天早上,具体看什么时候把这两篇更新上去。

以后就不来这里了。拜拜了
2007-10-03 20:09
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

原来来这里就是为了当版主


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2007-10-03 20:54
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
收藏
得分:0 

俺是不想在这里玩了所以这么容易就说出不再做这里版主的话。你说一个大三学生一直泡在这种C语言版里有什么意思。穿上你的马甲去这里看看:http://bbs.bc-cn.net/viewthread.php?tid=174347

跟你老K扯TC已经让我厌烦了,俺还年轻有跟一个大叔扯淡有意思的多的事要做。

2007-10-03 21:17
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
弱者

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2007-10-03 22:16
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
收藏
得分:0 

就说TC吧,1年之后论坛就没有几个用了,我不跟你争因为你老了思想僵化了,让事实来证明。
我要去别的社区做更有意义的事去了,温水可以烫死青蛙,我要找更多的高手来刺激我。

你就继续呆在这玩吧,我会回来看你的。
2007-10-03 22:33
快速回复:FAQ新增条目建议
数据加载中...
 
   



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

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