C语言函数leap判断是否为闰年写一个函数将两个字符串相连
时间: 2025-06-25 22:07:43 浏览: 11
### 判断闰年的 `leap` 函数
在C语言中,可以通过逻辑运算符实现对闰年的判断。根据公历中的规定,如果某一年份满足以下条件之一,则该年为闰年:
- 年份能被4整除但不能被100整除;
- 或者年份能被400整除。
以下是基于此规则的 `leap` 函数实现[^4]:
```c
#include <stdio.h>
#define LEAP_YEAR(y) (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0))
int leap(int year) {
if (LEAP_YEAR(year)) {
return 1;
}
return 0;
}
int main() {
int y;
printf("请输入一个年份: ");
scanf("%d", &y);
if (leap(y)) {
printf("%d 是闰年。\n", y);
} else {
printf("%d 不是闰年。\n", y);
}
return 0;
}
```
在此代码中,通过宏定义 `LEAP_YEAR` 实现了对闰年的判定逻辑,并将其封装到函数 `leap` 中以便于调用[^4]。
---
### 字符串连接函数
为了实现两个字符串的连接功能,在不使用标准库函数的情况下可以手动编写一个字符串拼接函数。具体方法是从源字符串的第一个字符开始逐个复制到目标字符串末尾为止。下面是具体的实现方式:
```c
#include <stdio.h>
#include <string.h> // 提供 strlen 函数用于获取字符串长度
// 自定义字符串连接函数
void str_concat(char *dest, const char *src) {
int dest_len = 0; // 记录目标字符串当前长度
while (*(dest + dest_len) != '\0') { // 找到目标字符串结束位置
dest_len++;
}
int src_index = 0; // 遍历源字符串索引
while (*(src + src_index) != '\0') { // 将源字符串内容追加至目标字符串后
*(dest + dest_len) = *(src + src_index);
dest_len++;
src_index++;
}
*(dest + dest_len) = '\0'; // 添加字符串终止符
}
int main() {
char str1[100] = "Hello ";
const char str2[] = "World";
str_concat(str1, str2);
printf("连接后的字符串:%s\n", str1);
return 0;
}
```
在这个例子中,自定义的 `str_concat` 函数实现了将第二个字符串附加到第一个字符串后面的操作。注意这里假设目标字符串有足够的空间容纳最终的结果[^1]。
---
#### 注意事项
对于上述两种情况需要注意以下几点:
- **内存管理**:当执行字符串连接时要确保目标缓冲区有足够容量存储完整的
阅读全文
相关推荐



















