在C语言中,可以使用`printf`函数结合格式控制符来实现输出居中对齐。以下是一个示例代码:
```c
include include void printCenter(const char *str, int width) { int len = strlen(str); int left_space, right_space; if (len >= width) { printf("%s", str); } else { left_space = (width - len) / 2; right_space = width - len - left_space; printf("%*s%s%*s", left_space, "", str, right_space, ""); } } int main() { const char *str = "Hello, World!"; int width = 20; printCenter(str, width); return 0; } ``` 在这个示例中,`printCenter`函数接受一个字符串和一个宽度值,然后计算出需要在字符串两侧添加的空格数量,以实现居中对齐。`printf`函数使用`%*s`格式控制符来控制输出宽度,其中`*`表示通过参数指定宽度。 如果你需要动态计算输出宽度,可以根据字符串的长度来计算。以下是一个示例代码: ```c include include void printCenter(const char *str) { int len = strlen(str); int console_width = 80; // 假设控制台宽度为80字符 int left_space, right_space; if (len >= console_width) { printf("%s", str); } else { left_space = (console_width - len) / 2; right_space = console_width - len - left_space; printf("%*s%s%*s", left_space, "", str, right_space, ""); } } int main() { const char *str = "Hello, World!"; printCenter(str); return 0; } ``` 在这个示例中,`printCenter`函数使用了一个固定的控制台宽度(80字符),但你可以根据需要修改这个值。