编写一个函数实现printf的功能
时间: 2024-10-10 10:05:12 浏览: 11
在很多编程语言中,都有内置的`printf`或类似功能的库函数,用于格式化输出字符串。这里以C语言为例,你可以编写一个自定义的`custom_printf`函数来模拟`printf`的行为:
```c
#include <stdio.h>
#include <stdarg.h>
void custom_printf(const char *format, ...) {
va_list args;
va_start(args, format);
int i = 0;
while (format[i] != '\0') {
if (format[i] == '%') {
switch (format[i + 1]) {
case 'd': // 整数
printf("%d", va_arg(args, int));
break;
case 's': // 字符串
printf("%s", va_arg(args, const char *));
break;
// 可以添加更多的格式说明符如%f、%c等
default:
printf("Unsupported format specifier: %c\n", format[i + 1]);
break;
}
i += 2; // 跳过%及其后的字符
} else {
printf("%c", format[i++]);
}
}
va_end(args);
}
// 使用示例
int main() {
custom_printf("Hello, world! My age is %d.\n", 25);
return 0;
}
```
这个`custom_printf`函数接受一个格式字符串和可变数量的参数,通过`va_list`处理不同类型的参数并按照指定的格式打印。注意这只是一个简单的模拟,并非完全兼容所有`printf`的特性。
阅读全文