#include<stdio.h> #defineM(x,y)x*y int s=0 void f1() {int k=1;s=s+k;k++;} void f2(int n){if(n>3)f2(n/4);printf("%d",n%4);}void main(){int i ,a=2,b=3;printf("%d\n",M(a+b,a-b)); printf("%d\n",s);for(i=1;i<3;i++)f1();printf("%d\n",s);f2(100);}什么意思
时间: 2024-03-31 18:35:47 浏览: 118
SeqList.h #include <stdio.h> //包含标准输入输出流的头文件 #include <assert.h
这是一段 C 语言的代码。代码中定义了一个宏 M(x,y),表示 x*y。然后定义了两个函数 f1() 和 f2(int n)。
函数 f1() 中定义了一个局部变量 k,然后将全局变量 s 加上 k 的值,然后将 k 加 1。
函数 f2(int n) 是一个递归函数,如果参数 n 大于 3,就将 n/4 作为参数再调用 f2() 函数。然后输出 n%4 的值。
在 main() 函数中,定义了两个整型变量 a 和 b,分别赋值为 2 和 3。然后调用宏 M(),将 a+b 和 a-b 分别作为参数传入,并输出结果。接着输出全局变量 s 的值,然后调用函数 f1() 两次,再输出全局变量 s 的值。最后调用函数 f2(),将参数设置为 100,并输出结果。
阅读全文