正在加载图片...
int a[5]; 表示数组a有5个元素,分别为a0、a1小、a[2]、a[3]、a4。而在程序中对数组的输入 和输出操作中对这5个元素的引用是从[1]至a5],导致数组下标越界。由于C语言对这种情 况并不报告语法错误,所以编译链接都正常,但是结果却出现了错误。 改正程序后的运行结果示例如图7.1.3所示: G四"C:\c-programming\7八Debug\pg7l02ok.exe'▣☒ 请输入5个整数:1278368255 这5个数为:1278368255 Press any key to continue 图7.1.3pg7102_ok.cpp的运行结果 3.打开c:lc-programming7pg7103.cpp,该程序是用10个数据初始化数组,并输出。该 程序有一个小问题,请修改,使程序能正确运行。修改后的程序以Pg7103ok.cpp保存。该源 程序内容如下: #include<stdio.h> void main(void) int i,array[10]; array={3,12,5,7,11,32,46,26,9,27} printf("数组各元素值依次为:n")方 for(i=0,i<10,i++) printf("%4d",array[i]), printf"n")方 } 了提示:如何发现问题? 编译该程序,系统报告程序第5行,即: array=={3,12,5,7,11,32,46,26,9,27}: 有语法错误。该语句希望为数组arry初始化l0个整数。但是初始化是指在定义数组的 同时为其赋值,而程序在第4行己经完成了数组的定义,之后再赋值就是对数组赋初值,而 -118-int a[5]; 表示数组 a 有 5 个元素,分别为 a[0]、a[1]、a[2]、a[3]、a[4]。而在程序中对数组的输入 和输出操作中对这 5 个元素的引用是从 a[1]至 a[5],导致数组下标越界。由于 C 语言对这种情 况并不报告语法错误,所以编译链接都正常,但是结果却出现了错误。 改正程序后的运行结果示例如图 7.1.3 所示: 图 7.1.3 pg7102_ok.cpp 的运行结果 3.打开 c:\c-programming\7\pg7103.cpp,该程序是用 10 个数据初始化数组,并输出。该 程序有一个小问题,请修改,使程序能正确运行。修改后的程序以 pg7103_ok.cpp 保存。该源 程序内容如下: #include<stdio.h> void main(void) { int i,array[10]; array={3,12,5,7,11,32,46,26,9,27}; printf("数组各元素值依次为:\n"); for(i=0; i<10; i++) printf("%4d",array[i]); printf("\n"); } 提示:如何发现问题? 编译该程序,系统报告程序第 5 行,即: array={3,12,5,7,11,32,46,26,9,27}; 有语法错误。该语句希望为数组 array 初始化 10 个整数。但是初始化是指在定义数组的 同时为其赋值,而程序在第 4 行已经完成了数组的定义,之后再赋值就是对数组赋初值,而 - 118 -
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有