题目一:
问题:
在C语言中,const
关键字有哪些用途?请列举出至少三种用途,并给出相应的代码示例。
答案:
-
定义常量:使用
const
关键字可以定义常量,它们的值在程序运行期间不能被修改。
const int MAX_SIZE = 100;
-
修饰指针:使用
const
关键字修饰指针,可以确保指针指向的内容不会被修改。
int value = 42; | |
const int *ptr = &value; // ptr指向的内容不能被修改 |
-
修饰函数参数:使用
const
关键字修饰函数参数,可以确保参数在函数内部不会被修改。
void printValue(const int value) { | |
printf("%d\n", value); // 在函数内部不能修改value的值 | |
} |
题目二:
问题:
以下代码中存在一个逻辑错误,请找出并说明错误原因。
#include <stdio.h> | |
int main() { | |
int a = 5; | |
int b = 10; | |
if (a > b) { // 这里的比较逻辑是否正确?为什么? | |
printf("a is greater than b\n"); | |
} else { | |
printf("a is not greater than b\n"); | |
} | |
return 0; | |
} |
答案:
代码中的逻辑错误在于if
语句的比较条件。这里的条件是a > b
,但是实际上变量a
的值是5,而变量b
的值是10,所以a
不大于b
。因此,如果代码按照预期运行,它应该输出"a is not greater than b"。要修复这个逻辑错误,应该将条件改为a < b
。这样,当a
的值小于b
的值时,才会执行第一个分支并输出"a is less than b"。
嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!
分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!
扫码进群领资料https://s.pdb2.com/pages/20230519/16QijNiGb32IFIn.html