一、
题目
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int a = 1;//定义全局变量 void test() { int a = 2;//定义局部变量 a += 1; } int main() { test(); printf("%d\n", a); return 0; }
请问输出结果是什么?
答案:
a=1
解析:定义a两次,一个是全局变量,另一个是局部变量。
当局部变量和全局变量名冲突时,局部变量优先。(局部优先)
所以a+=1,对局部变量使用,且局部变量出定义区间时,会自动销毁。
二、
C语言规定,在一个源程序中,main函数的位置()
A、必须在开始
B、必须在系统调用的库函数的后面
C、可以任意
D、必须在最后
答案:C
因此,main函数的位置就是任意的。
三、
题目:C语言本身没有输入输出函数。
答案:正确
解析:C语言只规定了语法规则,而库函数和C语言的语法规则是独立的。
四、
题目:求两个数的最大公倍数
解析:
直接求两个数其中任意一个数的倍数,进行循环,直到找到那个最大公倍数。
int main() { int a, b; scanf("%d %d", &a, &b); int m = a > b ? a : b;//求两个数的最大值直接用三目操作符 int m_ = m; int cnt = 0; while (1) { cnt++; if (m % a == 0 && m % b == 0) { printf("%d\n", m); break; } else { m = m_ * cnt; } } return 0; }