已采纳回答 / 奇怪的阿怪
因为第二行定义函数的时候已经定义了形参,所以在下面调用函数的时候:在参数传递时,实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。另外代码写出来是为了用的,你直接在调用函数的时候写3,4,5以后怎么办?用a,b,c可以在外部给abc赋值而不需要直接进去改了
2017-06-10
已采纳回答 / Yliku
输出结果是:x=20 直接看printf里面的MultiDouble(x),这里的x引用的是 上面定义的:int x=10,代入进去最上面定义的int MultiDouble(int x)函数,return x*2(返回10*2),结果就是MultiDouble(x)=20,输出结果就是x=20
2017-06-10
已采纳回答 / 慕粉0953562124
result = factorial(n-1)*nfactorial(n-1)不是等于n-1,而是把n-1的值在带进factorial这个函数里再算一次
2017-06-09
已采纳回答 / 田心枫
#include <stdio.h>void fn(){ static int x = 1; //定义静态局部变量 x*=2; printf("x=%d\n",x); }int main(){ int i; for(i=0;i<5;i++) { fn(); } extern int x; //调用外部变量 printf("x=%d\n",x); return 0;}int x=100;
2017-06-08
已采纳回答 / jokerwwl
|* *|** **|*** ***|****从竖线这里切分,每个竖线之前都有4个字符,每一行都比上一行少一个空格,若改为j=1,那么每一行都与第一行相同了。
2017-06-08
已采纳回答 / 慕粉13604588826
int i=0;
while(i<10)
{
i++;
printf("%d",i);
}
这个里面while(){}是循环体,i是循环变量,i++就是在循环体中改变循环变量的值,如果不写i++,那么i<10这个条件就始终为真,这个循环就不会停,就变成了死循环
2017-06-07
已采纳回答 / qq_许诺唯诺_0
if(10==n)这样的写法可以避免因为少打了一个"="而使比较变成赋值导致程序出现bug这种情况。这种情况编译器是不会报错的,所以很往往难查出来。 但if(10==n)如果错写成if(10=n)就无法通过编译了
2017-06-07
已采纳回答 / qq_荒狼_0
\n控制换行这个比较简单看着感觉没啥区别,输出结果多了区别就出来了。%s是表示字符串,等你学过scanf函数输入数据,就会发现用scanf输入字符串时%s是必须要有的.(即:scanf("%s", &a))
2017-06-07
已采纳回答 / weibo_晨晨kris_0
因为break如果用于for循环,是用来终止for循环。这里break虽然在if内部,但是if在for循环内部,当i=n=2时, if(i%n==0)满足条件,break执行就会跳出for循环,n不会++了。
2017-06-06
已采纳回答 / 慕婉清6287311
左边是将字符类型先转换为整型,再将整型转换为浮点实型;对应的代码是x=c,d=x而右边是将字符类型分别转换为整型、单精度实型、浮点实型。则对应代码是n=c,f=c,d=c
2017-06-06