cr:经典
题目35
学习static定义静态变量的用法。
思路:
看到这个题目有些不明所以,看完B站的视频懂了这道题主要是为了了解静态变量的含义及用法。
代码:
在对方定义的这个fun函数中,int static_i=0的语句是每次循环都要执行的。若是没有变量名前面写static,那么static这个变量的值是不会改变的;但是现在有了static,这也就成为了静态变量,所以static这个变量只赋值一次,因此结果分别是static_i=1、2、3。
对方:
// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鸟教程. All rights reserved.
//
#include<stdio.h>
int main()
{
void fun();
for(int i=0;i<3;i++)
fun();
return 0;
}
void fun()
{
int i=0;
static int static_i=0;
printf("i=%d\n",i);
printf("static_i=%d\n",static_i);
i++;
static_i++;
}
反思&收获:
static。
cr:小林
例45
C语言编程实现求两个数的最大公约数和最小公倍数
思路:
求最大公约数和最小公倍数,最要是求出最大公约数。因为最小公倍数=最大公约数×乘积,所以找出最大公约数是关键。找最大公约数的方法是辗转相除法
代码:
#include<stdio.h>
main()
{
int a, b, c, d;
printf("输入两个数字:");
scanf("%d %d", &a, &b);
printf("要计算的两个数字是:%d和%d。", a, b);
c = a * b;
do {
d = a % b;
if (d == 0) {
printf("\n最大公约数是%d。", b);
break;
}
a = b;
b = d;
}while (d != 0);
printf("\n最小公倍数是%d。\n", c / b);
}
对方:
反思&收获:
无。