20160511for循环出现问题

来源:互联网 发布:电脑重置网络dos命令 编辑:程序博客网 时间:2024/05/21 17:48

下面是大神给我的回复

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

影响编译的问题有一个,就是 for 循环的语法问题。for 循环的变量初始化、判断及变量值更新语句之间应当用分号 ; 而不是逗号 , 分隔,你的代码中(第 7 行)使用了逗号属于语法错误 (Syntax Error) ,是无法通搜索过编译的。正确写法为


1
for (i = 1; i <= 10; i++) {...}


另外有两个不影响编译但需要注意的问题,


一是如果你的程序想输出 1 到 10 的和的话,for 循环中的运算部分应该使用加法运算符 + 而不是乘法运算符 * ,如下


1
2
3
for (i = i; i <= 10; i++) {
    sum = sum + i;
}


如果你的程序想输出 1 到 10 的积的话(也就是 10 的阶乘),那么目前这个程序是错误的,因为变量 sum 的初始值为零,而零乘任何数都是零,所以最终结果 sum 的值仍是零,你需要把 sum 的初始值改为 1。另外,积的英文是 product 而不是 sum,所以为了符合变量名称规范,请将 sum 的名称改为 product。如下:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <stdlib.h>
 
int main() {
    int i, product;
    product = 1;
     
    for (i = 1; i <= 10; i++) {
        product = product * i;
    }
     
    printf("%d\n", product);
    system("pause");
     
    return 0;
}


二是代码格式问题。刚开始接触 C 语言的话请养成良好的代码格式习惯,变量名,运算符和变量值之间请加入一个空格,以方便他人阅读。

提问者评价
跪谢大神细心指教,好人长命百岁!
查看评论

第一碗羊杂割 | 十一级 采纳率84%

擅长: 操作系统/系统故障 手机使用 器乐/声乐

感谢线上无私指点的大神!

0 0