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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这个C语言中int n是啥意思?另外n的值又是多少?相关的知识,希望对你有一定的参考价值。

#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
参考技术A 定义一个函数的时候括号中的叫参数
也就是int n表示一个整形参数n
这个n只能用在这个函数体中
而这个n的值是多少呢
这就要看程序调用这个函数的时候传入的参数是多少
int main(void)

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

在这里面有一句total=sigma(m)
这句就是调用函数sigma 而这个m就是作为参数传入函数的值
m把值给了n
1<=n这句就是判断传进去的这个m值是否大于等于1
参考技术B 1、int是定义整数型变量的意思,n是传入的参数。
是程序运行后,你自己输入的数字呀。

2、while语句,当n大于等于1时,运行下面程序,i增加1,sum也增加1.
参考技术C 你得从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里面的total了
return sum;

解答完

c语言中函数memset()是啥意思?啥功能

如题

memset()的函数, 它可以一字节一字节地把整个数组设置为一个指定的值。 memset()函数在mem.h头文件中声明,它把数组的起始地址作为其第一个参数,第二个参数是设置数组每个字节的值,第三个参数是数组的长度(字节数,不是元素个数)。其函数原型为:
    void *memset(void*,int,unsigned);
  其中void*表示地址
    memset()的第一个实参是数组名,数组名作参数即数组作参数,它仅仅只是一个数组的起始地址而已。
  实现第一个memset()函数调用的内存布局见图7-3。 在函数memset()栈区,从返回地址往上依次为第1,2,3个参数。第1个参数中的内容是main()函数中定义的数组ia1的起始地址。第2个参数是给数组设置的值(0),第3个参数是数组的长度(50*2)。函数返回时,main()函数的数组中内容全置为0。
参考技术A memset()的函数, 它可以一字节一字节地把整个数组设置为一个指定的值。 memset()函数在mem.h头文件中声明,它把数组的起始地址作为其第一个参数,第二个参数是设置数组每个字节的值,第三个参数是数组的长度(字节数,不是元素个数)。其函数原型为:
    void *memset(void*,int,unsigned);
  其中void*表示地址
    memset()的第一个实参是数组名,数组名作参数即数组作参数,它仅仅只是一个数组的起始地址而已。
  实现第一个memset()函数调用的内存布局见图7-3。 在函数memset()栈区,从返回地址往上依次为第1,2,3个参数。第1个参数中的内容是main()函数中定义的数组ia1的起始地址。第2个参数是给数组设置的值(0),第3个参数是数组的长度(50*2)。函数返回时,main()函数的数组中内容全置为0。
中国物联网校企联盟技术部
参考技术B memset(地址指针, 值, 大小)将地址指向的区域连续大小的内存区域填充为值 参考技术C void *memset(void *s,int ch,size_t n);
函数解释:将 s 中前 n 个字节用 ch 替换并返回 s 。
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法.
请参考:
http://baike.baidu.com/view/982208.htm

以上是关于这个C语言中int n是啥意思?另外n的值又是多少?的主要内容,如果未能解决你的问题,请参考以下文章

main是啥意思,在C语言中又是啥意思

C语言这三个if括号里是啥意思

c语言:void reverse(int a[], int n)是啥意思

c语言 这段代码是啥意思,结果为啥是20,20

c语言中像函数命名“void put_star(char ch,int n)”中的下划线是啥意思?

这个 C 语言语句是啥意思?