如题所述
恩,是的。但是不知道是怎么运行的。可以帮忙解析一下吗?
#include
int f(int n);
main()
{int a=3,s;
s=f(a);s=s+=(a);printf("%d\n",s);
}
f(int n)
{static int a=1;
n+=a++;
return n;
}
解释一下#include<stdio.h> int f(int n); main() {int a=3,s; s=...
{ s+=(*p-'0')*t; \/\/注意这句话的理解,你的疑惑就是在这里了。下面我来帮你解释清楚\/\/ 首先要明白字符型数据的相加减实质上是字符在ASCLL码表上对应的ASCLL 值的相加减,而不是简单的直接拿字符来做相加减运算。s+=(*p-'0')*t;这句话开始p是指向a[2],a[2]存储的是字符'9'。...
...int f(int n); main(){int a=3,s; s=f(a);s=s+f(a);printf("%d\\n...
int f(int n){ static int a=1;\/\/这里是静态变量,静态变量的特点是赋值语句仅执行一次 n+=a++;\/\/这句话相当于n=n+a;a++;后置++先返回原数值,然后自变量+1 \/\/所以第一次s=f(3)n=3,a=1;n+=1=4,a=2,f(a)=4 \/\/s=4;\/\/第二次f(3),n=3,(a=1这句话不执行),a=2,n...
int f(int n)是什么意思?问什么结果是9?请写一下详细过程!
include<stdio.h>int f(int n); \/\/这是定义一个函数,名叫f,参数是整数nmain(){int a=3,s;s=f(a); \/\/s=1s=s+f(a); \/\/s=1+1=2printf("%d\\n",s);\/\/结果是2.如果你的代码没贴错的话.不可能9return 0;}int f(int n) \/\/函数f的函数体.{static int a=1; \/\/a...
#include<stdio.h> int f(int n); main() { int
这个是100连续除以2,一共9次,由于除数和被除数都是整数,所以结果是0,如果2改成2.0,结果就是0.125
int f(int n)是什么意思?问什么结果是9?请写一下详细过程!
“int f(int n)”是个自定义的函数,返回值为整数型,形参是n,整数型。“s=f(a);”就是调用函数f,将a=3作为函数f的形式参数n的值,然后按函数f的语句执行,将最后的结果n返回给主函数,并赋值给s。下边的“s=s+f(a);”同理
#include<stdio.h> void main() { int f(int a, int
p=f(i,++i); 在执行这一步时i编程了3,所以传入函数f时a和b都等于3返回值为0 ++i时i的值就变了。改为p=f(i,i+1)就好了
C语言问题: #include <stdio.h> int main() { int a=3,
a+=b,代表给a赋值为(a+b),-=同理,同时这俩运算符平级。所以顺序为首先a+=a,此时a=2a;然后a-=a,此时=0;然后c=a=0
#include<stdio.h> main() int a=4; int f(int n) {int t=0 ; stati...
int f(int n){ int t=0 ;static int a=5; \/\/静态变量,其作用域在int f(int n)内均有效 if(n%2){ int a=6; \/\/局部变量,只在这对括号内有效 t+=a++; \/\/?这个a是哪个? 就是局部变量int a = 6,因为其声明位置就在作用域内,离本作用域最近 } else { int a=7;t+...
#include<stdio.h> void main() {int a; printf("%d\\n",(a=3*5,a*...
a值最后是15没错。不过 输出的是括号里面的 (a=3*5,a*4,a+5)这个是一个逗号运算表达式,值是最右的值,也就是a+5的值。所以 输出是15+5=20 需要注意的是赋值优先级高于逗号,所以 a=3*5是第一部分 a*4是第二部分 a+5是第三部分。
# include <stdio.h> # include <math.h> int main (void) { \/\/把三...
那个错误要把代码也贴出来看看 那个警告的意思是说 你的main函数是有int类型返回值的,但你没在main中用return 返回。所以有一个警告。