易截截图软件、单文件、免安装、纯绿色、仅160KB

C\C++中数组元素下标越界可能引起的问题

数组是类型相同的对象的序列,其中的对象称为数组元素。也可以将数组想像成一连串的用下标值编号的相邻存储区。
       可能在某些编程语言中,一个下标变量是不允许超出数组定义中所设的界限的。但是在C和C++中,数组是没有这种安全措施的。下面先来看看数组下标越界的几种异常结果。
       例1,访问没有分配给数组的内存空间。
       int main ()
       {
             const int SIZE = 4;
             int a[SIZE] = {12,40,45,10};
             for (int i = 0; i<5 : i++)
                 cout << "\t a[" << i << "] = " << a[i] << endl;
       }
       运行结果如下:
             a[0] = 12
             a[1] = 40
             a[2] = 45
             a[3] = 10
             a[4] = 12358   
       上面的结果中a[4]访问了不属于数组的内存空间,读取了一个无用的值,这个值是以前使用这个内存单元时保存的值。大家可能会说,这有什么大不了的,这不会影响什么的呀。不急,下面再看个例子。
       例2,访问数组的一个不存在的下标元素时无意中改变了一个变量的值。
       int main ()
       {
             int a[] = {10,


相关文档:

ubuntu安装c/c++集成开发环境

首先确保系统已经安装了gcc/g++
1> Anjuta
打开终端:
命令:sudo apt-get install anjuta
(不能安装的需要添加安装源
添加源:点击主菜单上的“系统”》“系统管理”》“软件源”,输入密码后,在出现的对话框中点“第三方软件”,
“deb http://anjuta.org.sixxs. ......

C的TXT电子书阅读器(DOS)

可惜MS-DOS不是中国人写的,不支持中文。
/* Note:Your choice is C IDE */
#include "stdio.h"
main(int argc, char *argv[])
{
FILE *fp;
char ch;
int num=0,max;
int line=0;
if((fp=fopen(argv[1],"rt"))==NULL)
{
printf("\nCannot open file strike any key exit!");
getch();
exit(1);
......

求解n阶Hanoi塔问题的c函数

#include <stdio.h>
int Count=0;
void move(char x,int n,char z){
 printf(" %d. disk %d: %c => %c\n",++Count,n,x,z);
}//move
// 将塔座x上按直径由小到大且自上而下编号为1至n的n个圆盘按规则搬到塔座z上,y可用作辅助塔座
void Hanoi(int n,char x,char y,char z){
 if (n==1) move(x,1,z ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号