㈠ c语言程序中初始化的重要意义
C语言变量进行初始化时给变量分配内存空间是在一定范围内的随机分配的,所分配内存空间上可能含有数据没有被清除掉,故而如果不进行赋值的话,不能确定变量的值是什么,故而结果不正确,
㈡ c语言新手求指导
你的程序中,把变量p和q的初始化放在了for循环里了,每次都会把p和q清零。
应该把p=0;和q=0;这两条变量初始化语句放在for循环之前,或者在变量定义时就完成初始化。
另外,把p、q、sum都改为浮点类型,输出会更准确些。
修改后的程序为:
#include <stdio.h>
int main()
{
int i,j;
folat p=0,q=0,sum=0;
for(i=1;i<101;i++)
{
if((i%2)!=0)
p+=1/i;
else
q+=1/i;
}
sum=p-q;
printf("d%
",sum);
}
㈢ c语言,求和的sum没有初始化,结果会怎样
结果不可预测,有些编译器在你声明sum时就自动初始化为0,而有些不会自动初始化,其结果就是未知数了
㈣ C语言,我用程序跑出来sum=55,为什么不对
sum没有初始化,初始化为0的时候为55,你再跑两遍程序,肯定会不一样的!
㈤ C语言数组的初始化表示方法
不是inta[] 而是例如int a[10]这种。括号内一定要有个常量数字。
我们可以这样定义
#define N 5
int a[N]
这表明了数组名为a;数组有5个元素;分别是a[0]到a[4];
对于数组来说;数组是变量的集合,因此数组也具有与变量相同的数据类型和储存类型。数组的类型就是它所有的变量的类型。在定义数组时,应在数组名前对数组的类型加以确定。如上面的int a[10];则表明了数组内元素均为整形。
所有当表示浮点型可以定义为例如float a[10]。 举例如下:
(5)c语言中把sum初始化扩展阅读
数组名是由用户命名的C语言标识符,要遵循标识符命名规则。数组名表示数组存储区域的首地址。数组的首地址也就是第一个元素的地址。数组名是一个地址常量,不能对它赋值。
数组名后是由方括号括起来的常量表达式,不能使用其他括号
㈥ C语言,我用程序跑出来为什么sum得到的为55
因为每循环一次,i就增加1,sum=1+2+3+4+5+6+7+8+9+10=55
一共执行10次,直到i大于10就循环解除
㈦ C语言怎么求n阶乘的和
1
思路
关键是写出求阶乘的函数
2
代码
#include<stdio.h>
//求阶乘
intfactorial(intn){
if(n==0||n==1)
return1;
else
returnn*factorial(n-1);
}
intmain(){
intn;
printf("求1!+2!+...+n!的结果
输入n的值:");
scanf("%d",&n);
intsum=0;
for(inti=1;i<=n;i++){
sum+=factorial(i);
}
printf("结果为:%d
",sum);
getchar();
getchar();
return0;
}
3
运行效果
㈧ 这个c语言中的return sum什么意思
就是进行累加的和啊,开始sum初始化为0,后面的for循环语句里每次都将i的值累加到sum里,等到输出的时候,sum就等于
1+2+3+……+n
了,最后再返回这个sum,return的意思就是返回函数值
㈨ c语言求1到100的累加和的题目中为什么sum初始值要设为0呢
如果不赋初值,那么在有些编译器里面是不会自动给你生成一个零值。那么在之后直接使用的时候就会导致错误。尤其是指针,如果说不赋初值就直接使用,指向的内容是不确定的,很可能导致程序错误,甚至是系统错误。所以在声明变量的时候就应该赋予一个初始值。这样也方便检查错误.所以,这个sum应该赋初值0.
以下from:网页链接
针对编译环境是VC++6.0
(1)对与全局变量
如果没有给变量赋初值,初值默认为0;
测试代码如下:
#include<stdio.h>
inta;
intmain(void)
{
printf("%d ",a);
return0;
}
运行结果是:0
(2)对于局部变量如果没有给变量赋初值,后果未知
测试代码如下:
#include<stdio.h>
intmain(void)
{
inta;
printf("%d ",a);
return0;
}
输出结果是:-858953740
㈩ 关于C程序中定义初始值sum=0和sum的区别
sum=0初始化时给sum赋初值0
sum初始化时不赋予初值,即sum变量的值为null(空值)