1:创建一个函数,使sum的值每次调用这个函数+1:
#include<stdio.h>
void Add(int* p)
{
*p += 1;
}
int main()
{
int sum = 0;
Add(&sum);
printf("%d\n", sum);
Add(&sum);
printf("%d\n", sum);
Add(&sum);
printf("%d\n", sum);
return 0;
}
程序执行结果如下:
注:形参的改变无法改变实参的值;
若是实参传递给形参的使地址,则可以与其建立联系,实参的值就可以随形参改变
2:输出1000——2000之间的闰年:
#include<stdio.h>
int is_leap_year(int y)
{
if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
return 1;
else
return 0;
}
int main()
{
int year = 0;
for (year = 1000; year <= 2000; year++)
{
if (1 == is_leap_year(year))
{
printf("%d ", year);
}
}
return 0;
}
程序执行结果如下:
附带一个有趣的现象,代码如下:
#include<stdio.h>
int main()
{
int x = 55;
printf("%d", printf("%d", printf("%d", printf("%d", x))));
return 0;
}
代码执行结果如下:
结论:printf函数打印时返回值是打印的字符个数