不用#include<string.h>
时间: 2024-12-18 19:04:23 浏览: 14
如果你想避免使用`#include <string.h>`,因为`string.h`库通常包含字符串操作相关的函数,比如`strlen`和`strcpy`等。在你给出的例子中,我们只需要遍历和取模操作,而无需字符串处理,所以可以修改`compose`函数如下:
```c
#include <stdio.h>
long compose(long number) {
int is_even = 0; // 标记当前位是否为偶数
long result = 0; // 存储组成的新数
while (number > 0) {
int digit = number % 10; // 取出当前位
if (digit % 2 == 0) { // 检查数字是否为偶数
result = result * 10 + digit; // 直接累加,不需要额外乘法和加法操作
}
is_even = digit % 2; // 更新偶数标记
number /= 10; // 移除最右边的数字
}
return result;
}
int main() {
printf("请输入一个长整型数:");
long input;
scanf("%ld", &input);
long new_number = compose(input);
printf("由偶数组成的新数是:%ld\n", new_number);
return 0;
}
```
现在代码只依赖于`<stdio.h>`,不再需要处理字符串相关的头文件。
阅读全文