交换数值(函数传值问题)

# include <stdio.h>int main(void){ void swap(int a, int b); int a = 2, b = 3; swap(a, b); printf("%d\n%d\n", a, b); return 0;}void swap(int a, int b){ int c; c = a; a = b; b = c;}不用编译器,你想想会输出什么? 正确答案: 2 3 你错了吗?知道问什么错了吗? 我个人看法是: void swap(int a, int b){ ...

Win32

bk.view.catalog().start("0"); 什么是Win32   Win32是指你现在所使用的操作系统是32位的windows环境. Win32的重要意义   从单进程单线程到多进程多线程是操作系统发展的一种必然趋势,当年的DOS系统属于单任务操作系统,最优秀的程序员也只能通过驻留内存的方式实现所谓的"多任务",而如今的Win32操作系统却可以一边听音乐,一边编程,一边打印文档。   理解多线程及其同步、互斥等通信方式是理解现代操作系统的关键一环,当我们精通了Win32多线程程序设计后,理解和学习其它操作系统的多任务控制也非常容易。许多程序员从来...
基础知识 | 2011-08-20 15:06 | 阅读 817 次 | 评论 0 条

斜杠‘/’与反斜杠‘\’

网上观点1: UNIX 操作系统设计了这种路径分隔法,它使用斜杠:/。由于网络是首先应用在 UNIX 计算机之间的,至今为止,一半以上的网络服务器仍是使用 UNIX 操作系统的,所以网址也沿用了斜杠作路径分隔符。微软在开发 DOS 2.0 的时候,从 UNIX 中借鉴了这种目录结构,但由于 DOS 中,斜杠已经用来作为命令行参数的标志了(UNIX 中用的是“ - ”符),所以只得使用反斜杠:\到了 Windows 时代,很多时候已经没有命令行参数的干扰,加上网络使用的扩展,现在斜杠和反斜杠大多时候可以互换,没有什么影响。 网上观点2: 正斜杠后面是路径,也就是文件名,而反斜杠后是加...
默认分类 | 2011-08-12 22:06 | 阅读 1866 次 | 评论 3 条

Dialog类的建立

问题: 我在C++中想建一个Dialog类,可总是提示Unable to open the files(E:\mypro\mydialog.h,E:\mypro\mydialog.cpp) for class "MyDlgClass".怎么回事啊?我把工程整个删了重建还是不行啊?请各位指点一下了。多谢多谢! 解决方法: 这是vc的bug解决步骤如下 1。关闭工程2。到你的工程文件夹下对应你的应该是E:\mypro路径下找到.clw文件对应你的应 该是E:\mypro\mydialog.clw删除它(这个是vc的classwizard使用的文件)3。重新打开工程文件,点击vie...
C++ | 2011-08-09 08:27 | 阅读 793 次 | 评论 2 条

圆整错误——有关浮点型

暂时用C++的例子(引用《C++程序设计学习指导与习题答案 (第2版)》)。 示例2.14 #include<iostream>using namespace std;int main(){ //illustrates round-off error:: double x=1000/3.0; //x=1000/3 cout<<"x="<<x<<endl; double y=x-333.0; //y=1/3 cout<<"y="<<y<<endl; double z=3*y-1.0; //z=3*(1/3)-1 cout<...
C/C++ | 2011-08-08 11:44 | 阅读 1026 次 | 评论 6 条

sizeof(结构体)和内存对齐

有的时候,在脑海中停顿了很久的“显而易见”的东西,其实根本上就是错误的。就拿下面的问题来看:struct T{char ch;int i ;};使用sizeof(T),将得到什么样的答案呢?要是以前,想都不用想,在32位机中,int是4个字节,char是1个字节,所以T一共是5个字节。实践出真知,在VC6中测试了下,答案确实8个字节。哎,反正受伤的总是我,我已经有点麻木了,还是老老实实的接受吧!为什么答案和自己想象的有出入呢?这里将引入内存对齐这个概念。 许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数k(通常它为4或8)的倍数,这...
C语言问题 | 2011-07-15 08:38 | 阅读 1166 次 | 评论 4 条
浏览48146次