c - Printf 一个字符串(在 C 中)
问题描述
我需要一个输出,其中字符串将分成两个字母对。例如,我把这段代码放在下面,但它会打印出来M O N A R C H Y
,我需要的是:MO NA RC HY
char arr[8] = "MONARCHY";
int n = 8;
for (int i = 0; i < n; i++) {
printf("%*c", 1 + !!i, arr[i]);
}
解决方案
这是我能想到的最小的代码更改:
#include <stdio.h>
int main(void) {
char arr[] = "MONARCHY";
int n = strlen(arr);
for (int i = 0; i < n; i++)
{
printf("%-*c", 1 + i%2, arr[i]);
}
return 0;
}
输出
Success #stdin #stdout 0s 4208KB
MO NA RC HY
推荐阅读
- tensorflow - 使用 tfrecord 但文件太大
- c# - 如何根据路径向 JSON 添加新的 JProperty?
- javascript - Twitter 搜索 API-如何在 NODE.JS 中实现高级访问密钥?
- windows - 如何在 Windows 上实现每个应用程序的路由行为?
- c++ - 迭代流缓冲区时如何摆脱“匹配函数调用错误”?
- delphi - 如何在 TMemo 组件中水平居中文本?
- kubernetes - 在 kustomize 中重用 JSON 补丁
- php - 为什么 $pageCount 返回为 0?(使用 FPDI 查找 PDF 中的页数)
- android - 从 Firebase 填充的 recyclerView 的 SearchView 问题
- c - printf 和 gcc -O 选项改变返回值