c语言简单题哦

来源:百度知道 编辑:UC知道 时间:2024/05/02 20:37:08
(1)
int m=13;
int fun(int x,int y)
{ int m=3;
return(x*y-m);}
main( )
{ int a=7,b=5;
printf("%d\n",fun(a,b)/m);}
(2)
main()
??{
??int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;
??while(i++<7) if(p[i]%2) j+=p[i];
??printf("%d\n",j);
??}
(3)
#define S(x) 1+4*x*x
??main()
??{ int i=2,j=3;
??printf("%d\n",S(i+j));
??}
帮忙详细讲解一下

(1)
int m=13;
int fun(int x,int y)
{ int m=3;
return(x*y-m);} /*就是Fun(x,y)=x*y-3嘛*/
main( )
{ int a=7,b=5;
printf("%d\n",fun(a,b)/m);} /*所以这里打印的是Fun(7,5)/13=2,是整型数作结果*/
(2)
main()
??{
??int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;
??while(i++<7) if(p[i]%2) j+=p[i]; /*就是从i=0开始到I=6结束,对数组P[]中偶数项进行相加,就是从P[0]加到P[4]o为止,得数J=11+13+15=39*/
??printf("%d\n",j);
??}
(3)fdjg
#define S(x) 1+4*x*x
??main()
??{ int i=2,j=3;
??printf("%d\n",S(i+j)); /*就是S(5)=1+4*(5^2)=101*/
??}

(1) 2
上第一个m全局变量,第二个局部变量只在fun()里有效
(5*7-3)/13取整形得2;
(2) 可以写成 main()
{
int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;
while(i<7)
{i++;
if(p[i]%2!=0)
j+=p[i];}
printf("%d\n",j);
}
13+15+17=45
结果是45.
(3)18
把x换成i+j,直接换