C 用空格分隔五个字符的输入(整数或字符串)
我是个白痴。我有一个编程练习,用户输入一个五个字母的数字,我必须用空格分隔这些数字。如果用户输入“54321”,则输出必须为“5 4 3 2 1” 到目前为止,我的解决方案只是将输入作为五个单独的字符,并用添加的空格重复它们,a la:C 用空格分隔五个字符的输入(整数或字符串),c,string,integer,C,String,Integer,我是个白痴。我有一个编程练习,用户输入一个五个字母的数字,我必须用空格分隔这些数字。如果用户输入“54321”,则输出必须为“5 4 3 2 1” 到目前为止,我的解决方案只是将输入作为五个单独的字符,并用添加的空格重复它们,a la: #include <stdio.h> int main(void) { char k1, k2, k3, k4, k5; printf("Input five numbers: "); scanf(&q
#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;
}
请记住我是个白痴。用对白痴友好的语言,我会补偿你可能不得不使用的手指画/蜡笔的费用
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.
改为:
printf("%c %c %c %c %c", k1, k2, k3, k4, k5); // Remove the & symbols.
看来你做得很好。。只有一个简单的错误让你犯了这个错误。打印值时,除非需要打印变量的地址,否则不要使用&符号。我刚把它取下来,就这样。你做得很好 #包括 内部主(空) { 煤焦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;
}看来你做得很好。。只有一个简单的错误让你犯了这个错误。打印值时,除非需要打印变量的地址,否则不要使用&符号。我刚把它取下来,就这样。你做得很好 #包括 内部主(空) { 煤焦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函数 不需要蜡笔或简单语言,您将变量的地址传递给printf,而不是变量本身
printf("%c %c %c %c %c", k1, k2, k3, k4, k5);
试试这个!另外,使用五个整变量也有点浪费内存。为了便于学习,您可以尝试使用一个变量逐个获取给定字符:P探索C函数 您给出的是k变量的地址,而不是printf中的值。删除printf中的(&N)。您似乎忘记了如何使用
printf
打印值。请在课本中刷新如何做。关于scanf
和printf
之间的区别。打开编译器警告,至少在提出类似问题之前尝试修复所有警告(例如,gcc
-Wall
,可能是-Werror
)。您给出的是k变量的地址,而不是printf中的值。删除printf中的(&N)。您似乎忘记了如何使用printf
打印值。请在课本中刷新如何做。以及scanf
和printf
之间的区别。打开编译器警告,至少在提出类似问题之前尝试修复所有警告(例如,gcc
-Wall
,可能是-Werror
)。