将两个正整数合并成一个新的整数,用c语言中的fun解决
时间: 2024-11-22 07:45:52 浏览: 19
在 C 语言中,如果你想要编写一个函数 `fun` 来合并两个正整数并形成一个新的整数,你可以考虑使用字符串拼接的方法,因为整数在 C 中通常是以二进制形式存储的。下面是一个简单的示例,假设这两个整数已经转换成了字符串:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 函数声明
char* fun(int num1, int num2);
int main() {
int a = 5, b = 7; // 输入的两个正整数
char* result = fun(a, b);
printf("合并后的整数为: %s\n", result); // 输出结果
free(result); // 释放内存
return 0;
}
// 函数实现
char* fun(int num1, int num2) {
char* str1 = malloc(sizeof(char) * 11); // 存储第一个数字的空间足够大
sprintf(str1, "%d", num1); // 转换为字符串
char* str2 = malloc(sizeof(char) * 11);
sprintf(str2, "%d", num2);
char* merged = malloc(strlen(str1) + strlen(str2) + 1); // 为了连接符和终止符
strcat(merged, str1);
strcat(merged, "1"); // 添加一个连接符
strcat(merged, str2);
return merged;
}
```
在这个例子中,我们先将每个整数转换为字符串,然后创建一个新的字符串 `merged`,将它们连接在一起。注意这里假设了一个额外的字符 '1' 作为连接两个数字的标记,实际应用中可能需要根据需求调整。
阅读全文