正在加载图片...
printf("%d", a); 可以看到,当输入Ⅰ的值小于或等于10时,二者得到的结果相同。而当D>10时,二者结果就不同了。因 为 while循环是先判断后执行,而do- while循环是先执行后判断。对于大于10的数 while循环一次也不执 行循环体,而do- while语句则要执行一次循环体, 14定义数组时误用变量。 Int n, scanf("%d", &n) int a[n 数组名后用方括号括起来的是常量表达式,可以包括常量和符号常量。即C不允许对数组的大小作动态定 15在定义数组时,将定义的「元素个数」误认为是可使的最大下标 值 main( { static int a[loF={1,2,3,45,6,7,8,9,10)} C语言规定:定义时用a[10],表示a数组有10个元素。其下标值由0开始,所以数组元素a10是不存在 16在不应加地址运算符&的位置加了地址运算符。 scanf("%s", &str) C语言编译系统对数组名的处理是:数组名代表该数组的起始地址,且 scanf函数中的输入项是字符数组名 不必要再加地址符&。应改为 17同时定义了形参和函数中的局部变量。 int max(x, y) Int x, y, Z, 形参应该在函数体外定义,而局部变量应该在函数体内定义。应改为:} (2)main() {int a=0,I; scanf("%d",&I); do {a=a+I; I++; }while(I<=10); printf("%d",a); } 可以看到,当输入 I 的值小于或等于 10 时,二者得到的结果相同。而当 I>10 时,二者结果就不同了。因 为 while 循环是先判断后执行,而 do-while 循环是先执行后判断。对于大于 10 的数 while 循环一次也不执 行循环体,而 do-while 语句则要执行一次循环体。 14.定义数组时误用变量。 int n; scanf("%d",&n); int a[n]; 数组名后用方括号括起来的是常量表达式,可以包括常量和符号常量。即 C 不允许对数组的大小作动态定 义。 15.在定义数组时,将定义的「元素个数」误认为是可使的最大下标 值。 main() {static int a[10]={1,2,3,4,5,6,7,8,9,10}; printf("%d",a[10]); } C 语言规定:定义时用 a[10],表示 a 数组有 10 个元素。其下标值由 0 开始,所以数组元素 a[10]是不存在 的。 16.在不应加地址运算符&的位置加了地址运算符。 scanf("%s",&str); C 语言编译系统对数组名的处理是:数组名代表该数组的起始地址,且 scanf 函数中的输入项是字符数组名, 不必要再加地址符&。应改为: scanf("%s",str); 17.同时定义了形参和函数中的局部变量。 int max(x,y) int x,y,z; {z=x>y?x:y; return(z); } 形参应该在函数体外定义,而局部变量应该在函数体内定义。应改为:
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有