首页 > 解决方案 > 不能在同一行的输出和输入之间放置空格

问题描述

打印后,如果我写下我得到的名字:

插入姓名:Andrea

在此处输入图像描述

Andrea 之前没有空格,即使我将空格放在输出中。如何在写名字之前添加空格?

#include <stdio.h>

int main() {
    int string[8];
    printf("\nInsert a name : ");
    printf(" ");
    scanf("%s", string);
    printf("\nThe name is : %s", string);
    return 0;
}

标签: printfscanfc99

解决方案


您提供的代码无法编译,因为该变量string是一个整数数组(而不是您可能认为的字符串)。当你输入它的值时,你告诉编译器期待一个字符串("%s"in scanf("%s", string"))。

string将您的声明更改为char string[8]它应该可以工作(使用您想要的间距):

在此处输入图像描述

请注意,输入的值string不会超过 8 个字符。


推荐阅读