首页 > 解决方案 > 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]);
}

标签: cprintf

解决方案


这是我能想到的最小的代码更改:

#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 

推荐阅读