这个C语言中int n是什么意思?另外n的值又是多少?

来源:百度知道 编辑:UC知道 时间:2024/06/03 21:21:55
#include <stdio.h>
int sigma(int n)
{
int i=0,sum=0;
while(1<=n)
{
i++;
sum=sum+1;
}
return sum;
}

int main(void)
{
int m,total;
scanf("%d",&m);
total=sigma(m);
printf("total=%d\n",total);
return 0;
}

看C有几天了,卡在这里不知道什么意思,谁给解释一下呀...?

问题一:第二句里面的int n是什么意思呢?我知道是声明n为整型变量,但是这句的意义是什么呀?也没看见谁调用变量n呀..

问题二:第五句出现了1<=n
在这里n的值是为0的,这个1小于或等于n有又有什么意义呢?

while(1<=n) 印错了,应当是 while(i <= n)
否则,当 n>=1 时,这是个无限循环,循环到 sum 溢出。
sum=sum+1; 印错了,应当是 sum=sum+ i

int sigma(int n) 括号里的 int n 是形式参数。
total=sigma(m); 调用时,n 的值由m 传入。
m值 来自 scanf("%d",&m); 的键盘输入。

sum 初值 0,i 初值 0
while(i<=n)
{
i++; // i 变 1,2,3,4,5....
sum=sum+i;
}
做的是累加。
例如 m=5
sum = 1+2+3+4+5
sigma() 送返 sum ,也就是 15

你得从main开始读
int main(void)
{
int m,total; // 声明两个变量,干嘛用的?不知道吧,那就接着看
scanf("%d",&m); // 看到了?m是外部输入的,输入了有嘛用捏?继续看
total=sigma(m); // 看到了?调用一个叫sigma的函数,这个函数用到了m,函数的返回值给了total,sigma干嘛用的?看sigma去
printf("total=%d\n",total);
return 0;
}

顺便提醒你,写程序要注意缩行,要不看起来很费劲
int sigma(int n) // 这个n就是你刚刚传过来的m
{
int i=0,sum=0;
while(1<=n)
{
i++;
sum=sum+1;
}
// 函数内部利用n作了一系列的运算,你要不是分析算法就别管了,总之,sum就是这一系列运算的结果,作为返回值返回给main里面的tota