专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C++

[原创]个人C语言精华总结讨论交流区,持续更新中.该如何处理

发布时间:2011-06-29 00:41:46 文章来源:www.iduyao.cn 采编人员:星星草
[原创]个人C语言精华总结讨论交流区,持续更新中.......
[color=#0000FF][/color]大家好!!我是C语言的忠实爱好者.在这里,我会把平时总结的点点滴滴在这里与各位分享,希望大家也能把自己的独到见解发表在这里,不需要绝对正确的观点,你的每一个符号就是大家分享知识的源泉。大家努力把这里打造成C语言交流的绝佳平台!!
  同时,大家如果有什么问题的话,也可以顶上来,我保证每个问题作仔细的回答.

------解决方案--------------------
好贴占个座
支持你
------解决方案--------------------
举双手赞同楼主,并予以尽可能最大的支持!
------解决方案--------------------
前几天这里有一题 重新搬出来

#include "stdio.h"
main()
{
int i;
char s[]="abcdef";
putchar(i[s]);
}

看好了 是 putchar(i[s]);
不是 putchar(s[i]);

------解决方案--------------------
看好了 是 putchar(i[s]); 
不是 putchar(s[i]); 
--------------------------
putchar(i[s])==putchar(s[i])
------解决方案--------------------
特别是内存里面取值。
------解决方案--------------------
考同济?
------解决方案--------------------
看好了 是 putchar(i[s]); 
不是 putchar(s[i]); 

这一句也是正确的?怀疑!
用cl调试出现运行错误,不知道楼主用的是什么编译器,可以正确运行?
------解决方案--------------------
为什么putchar(i[s])==putchar(s[i]);
------解决方案--------------------
putchar(i[s])确实使正确的,为什么呢?
------解决方案--------------------
前几天有人讨论过了
搜搜前几天的帖子吧
------解决方案--------------------
收藏了
------解决方案--------------------
putchar(i[s])==putchar(s[i]);
------------------------------
在Borland的编译器中是正确的,在VC中就完蛋了!
估计Borland编译器不知道怎么优化了,反汇编出来的信息i[s]和s[i]完全一样(CB 6)。
------解决方案--------------------
收藏先
------解决方案--------------------
多贴心得啊 加油
------解决方案--------------------
ding
------解决方案--------------------
答楼主:
void main()

int a[3];//向系统申请了从地址a开始,长度为3*sizeof(int)的空间,这个空间再数组的生命期内不会被再次分配 
scanf("%d",&n); 
for(i=1;i <=n;i++) //i=1,表示从a[1]开始赋值
//c语言不检验数组的边界,超过边界后有两种结果:1、如果数组边界后面的空间已经被分配给了别的变量,就会将别的变量的值覆盖掉。2、如果数组边界后面的空间还没有被系统分配过,那么随时都有被分配的可能,此时数组越界的值就不能得以保证。 
scanf("%d",&a[i]);
printf("a[%d]=%d",i,a[i]); 
 //再用指针指向常量地址a; 
int *p=a;
printf("%d",*p); //错误的数值,原因是你前面就没有给a[0]赋值(是从a[1]开始赋值的)。 
printf("%d",*(p+1));//输出是a[1]值 
}
------解决方案--------------------
请教大家一个问题
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i;
FILE* BinFile;
if((BinFile = fopen("test.bin","wb")) == NULL)
{
ShowMessage("Fail to ctrate file!!");
return;
}
for(i=0;i<0xff;i++)
fputc(0x0d,BinFile);
fclose(BinFile);


}
程序执行完毕以后产生的文件数据为0xff而不是0x0d,请问大家是什么原因?

------解决方案--------------------
fputc的原形如下:
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: