C语言这个程序的运行结果为什么是20?

如题所述

#include <stdio.h>
void main(){//用TC的话去掉void
double res=1.0;
int i;
for(i=1;i<=20;i++){
res*=i;
}
printf("result=%lf",res);
}
/////////////////////////////////////////////////
嗯,楼上贴了个好文。不过用字符数组储存数字结果这点对于初学者来说可能有点太难懂了……他们应该上C语言才讲到循环语句啊。给个简单的循环不就行了?
哦,当然有需要注意的,阶乘的增长速度很快,所以,20!估计至少得用double型存储吧。
温馨提示:内容为网友见解,仅供参考
无其他回答

c语言题,第4题,为什么是20
所以C是正确的 结构体所占空间大小,与机器和操作系统有密切的相关性,有兴趣可以查一下相关资料读读,内容较多,此处不多说了。但结构体的大小一定不小于 结构体内各数据元素的大小之和! 这是与union不同的地方。

c语言的20是什么意思
C语言是一种程序设计语言,它被广泛应用于计算机编程领域。在C语言中,数字常量是很重要的基础数据类型之一。而20作为一个数字常量,它代表的是一个整数。在程序中,我们可以使用这个数字来进行各种计算操作,例如加减乘除等。当然,20作为一个常见的数字,通常也会被用来代表其他含义,例如年龄、数量等等。

C语言, 为什么运行结果是 30,20,10 1015,35,1050 10,20,30
因为函数参数传递时,传递的是变量的一份拷贝,所以函数中对x, y, z的改变不影响调用地方的x, y, z的改变,所以在函数fun内输出30, 20, 10, 1015, 35, 1050 退出函数后输出10, 20, 30

C语言这个值是如何得出的?
这个20表示的是输出数据总长度为20,不够的话前面补空格 要保留小数的话用 printf("%20.9f\\n",x);表示保留9位小数,总长度20位,不够前面补空格 至于有效数字长度,好像没有这个设置吧

C语言相关 这个语句里的[20]是什么作用 ,第三行的char name[20],跟...
name【20】中的【20】就是数组的大小,,也就是你可以输入最多20个字符,

C语言运算问题a=x+++y; Build之后是20,11,10,不知道a的20 怎么来。
相信你已经知道在前面的步骤当中得到x=10,y=10;a=x+++y;其实就是a=(x++)+y;因为后置运算符, 所以a就是10+10=20,x在这条语句执行完后加1,x得11。加一句,这种写法很不好,一般是不会这样写的,不必纠结太久。

用C语言编写求20!的程序
include <stdio.h> void main(){ double res=1.0;int i;for(i=1;i<=20;i++){ res*=i;} printf("result=%lf",res);} 利用for循环期求出第n项阶乘的积,然后前n-1项的阶乘的和加上第n项阶乘,当n等于20的时候就是所求。

C语言程序运行的结果是 求解释
strlen():表示字符串有效字符的个数,不包含字符串结束标识符'\\0'该字符串2008之后是‘\\0’表示字符串到此处结束,故有效字符长度为4.sizeof()表示变量占用的存储空间个数,该数组定义了20个字符元素,故占用20个存储单元。

C语言问题 运行结果是多少 为什么 求详细解答
结果15 之所以容易被理解错误是由于运算符优先级的问题 解决此类问题,第一步,宏展开 k=10*MIN(i,j);即 k=10*(i)<(j)? (i):(j);第二步,根据运算符优先级、结合性判断 原式等效于 k=(10*(i))<(j)? (i):(j);二目运算符*优先级高于三目运算符? :第三步,代入值,判断...

C++:改为t=20;则结果怎样?为什么?(C语言)
把外部int t=10;改为t=20;则结果是***20 20 一个大括号对代表一个作用域范围,在大括号内部定义的变量只能在这个大括号区间使用,如果在大括号内定义的变量外部已经定义,那么大括号内部定义的这个变量会覆盖外部的那个相同变量,但仅限于这个范围(在定义之后,出'}'之前),也就是说出了大括号...

相似回答