#include <stdio.h> int f(int a); int main () { int f(int); int a=5,i; 请教一下这个输出应该是多少?

#include <stdio.h>
int f(int a);
int main ()
{
int f(int);
int a=5,i;
for(i=O;i<3;i++)
}
printf(”%d ”, f(a));
}
return 0;
}
int f(int a)
{ auto int b=O;
static int c=3;
b = b+l;
c = c+l;
return (a+b+c);
}

原来的程序有多处错误,是不能运行的。
经修改之后的程序如下:
#include <stdio.h>
int f(int a);
int main ()
{ int f(int);
int a=5,i;
for(i=0; i<3; i++)
printf("%d ", f(a));
return 0;
}
int f(int a)
{ auto int b=0;
static int c=3;
b = b+1;
c = c+1;
return (a+b+c);
}
它运行之后的输出是:
10 11 12
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-06-19
答案是: 101112追问

数字间没有空格吗?

#include <stdio.h> int f(int a); int main () { int f(int); int...
include <stdio.h> int f(int a);int main (){ int f(int);int a=5,i;for(i=0; i<3; i++)printf("%d ", f(a));return 0;} int f(int a){ auto int b=0;static int c=3;b = b+1;c = c+1;return (a+b+c);} 它运行之后的输出是:10 11 12 ...

#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)就好了

#include<stdio.h> main() int a=4; int f(int n) {int t=0 ; stati...
return t+a++; \/\/?这个a 是static int a ,因为上面那2个局部变量的a已经失效了。 而在这个作用域内,static int a 就是在作用域生成的,所以这个a 是静态哪个 } int main(){ int s = a,i = 0; \/\/这个a 是哪个? 是全局变量 int a = 4;for( ;i<2 ;i++)s+=f(i) ; ...

#include<stdio.h> main() { int a[5],i ; int *p=a,t; for(i=0;i<...
第二个scanf中“leader name"前要加& 你的很多标点符号不对,一般要用英文符号,而且一句话结束后要用;,而不是:。注意。另外一般运行是有错误的话,下面会有提示,是哪里错了,检查一下。

#include<stdio.h> #include<stdlib.h> int main() { int a[5][5...
正确的应该是这样,这里将错误处及改正标出:include<stdio.h> include<stdlib.h> int main(){ int a[5][5]={0};int i,j;for(i=0;i<5;i++){ a[i][4]=0; \/*这里添加一句,将做累加器的元素a[i][4]初始化为0, *\/ printf("请输入第%d位学生\\n",i+1);for(j=0;j...

#include<stdio.h> main() { int a[5],i ; int *p=a,t; for(i=0;i<...
include<stdio.h> void main(){ int a[5],i,max;for(i=0;i<5;i++)scanf("%d",&a[i]);for(i=1,max=a[0];i<5;i++)if(max<a[i])max=a[i];for(i=0;i<5;i++)printf("a[%d]=%d\/n",i,a[i]);printf("The largest number is %d\/n",max);} ...

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> int f(int a) { int b=0; static int c=3; a=c...
include <stdio.h> int f(int a){ int b=0;static int c=3;\/\/静态变量,只做一次初值赋值,即:第一次调用fun c=3 a=c++,b++; \/\/第一次调用本函数后,c=4,第二次后,c=5,第三次后c=6...return a; \/\/第一次调用本函数后,a=3,二次后,a=4,第三次后a=5...} ...

解释一下#include<stdio.h> int f(int n); main() {int a=3,s; s=...
main(){ char a[]="369",*p=a;int s=0,t=1;while(*++p) t*=10; \/\/这里的while(*++p)是简写形式,它等价于while(*++p!=0)又等价于 while(*++p!='\\0')。因为"*"和"++"的优先级相同,而且是自由向左结合,p先加1再指向a数组,所以在这条语句中刚开始p是指向a[1]的也...

#include <stdio.h> int fun(int a) { int b=0; static int c=3...
a=(c++,b++);由于(c++,b++)中用了逗号,逗号作为运算符时返回最后的表达式值,所以这句相当于a=b++,由于++在后,所以这又相当于a=b;所以返回0

相似回答