用空格分隔五个字符的输入(整数或字符串)

Separating a five-character input (integer or string) with spaces

我是个白痴。我有一个编程练习,用户输入一个五个字母的数字,我必须用空格分隔数字。如果用户输入“54321”,输出必须是“5 4 3 2 1”。

到目前为止,我的解决方案只是将输入作为五个单独的字符并用添加的空格重复它们,à la:

#include <stdio.h>

int main(void)
{
    char k1, k2, k3, k4, k5;

    printf("Input five numbers: ");
    scanf("%c%c%c%c%c", &k1, &k2, &k3, &k4, &k5);

    printf("%c %c %c %c %c", &k1, &k2, &k3, &k4, &k5);
    return 0;
}

这没有用,每次我 运行 程序输出都是相同的五个无意义的字符。

Input five numbers: 55555
▼ ▲ ↔ ∟ ←

请记住我是个白痴。使用白痴友好的语言,我会收回你可能不得不使用的手指的成本paint/crayons。

printf("%c %c %c %c %c", &k1, &k2, &k3, &k4, &k5);

更改为:

printf("%c %c %c %c %c", k1, k2, k3, k4, k5);  // Remove the & symbols.

看来你做得很好.. 只是一个简单的错误导致了你这个错误。打印值时不要使用 & 符号,除非你需要打印变量的地址。我只是将其删除,仅此而已。你做得很好!

#include

int main(void) { 字符 k1、k2、k3、k4、k5;

printf("Input five numbers: ");
scanf("%c%c%c%c%c", &k1, &k2, &k3, &k4, &k5);

printf("%c %c %c %c %c", k1, k2, k3, k4, k5);
return 0;

}

不需要蜡笔或简单的语言,您将变量的地址而不是变量本身传递给 printf。

printf("%c %c %c %c %c", k1, k2, k3, k4, k5);

试试这个!此外,使用五个完整变量有点浪费内存。为了学习,您可以尝试只使用一个变量一个一个地获取给定的字符 :P 探索 C 函数!