将字符放入数组并在C中打印
Taking character into array and printing it in C
我对以下问题感兴趣:
将颜色作为字符(例如:'y' 表示黄色,'r' 表示红色等)放入数组并显示相同。显示时每个字符之间应该有一个 space。为此,我编写了以下代码:
#include <stdio.h>
int main(){
char a[10];
int i,n;
printf("Enter the number of colors (less than 10)\n");
scanf("%d", &n);
printf("Enter colors as alphabets : ");
for (i = 0; i < n; i++){
scanf("%c", &a[i]);
}
printf("Entered colors are : ");
for (i = 0; i<n; i++){
printf("%c ", a[i]);
}
return 0;
}
如果我输入数组大小 3 和颜色 r y g ,输出不会打印所有三个输入,而是只打印一个。
我几乎没有意识到 scanf 函数有问题。可能是什么问题?
使用以下转换说明符
scanf(" %c", &a[i]);
^^^
这允许跳过例如对应于按下的 Enter 键的空格。
也在这个循环之后
for (i = 0; i<n; i++){
printf("%c ", a[i]);
}
发表声明
putchar( '\n' );
我对以下问题感兴趣: 将颜色作为字符(例如:'y' 表示黄色,'r' 表示红色等)放入数组并显示相同。显示时每个字符之间应该有一个 space。为此,我编写了以下代码:
#include <stdio.h>
int main(){
char a[10];
int i,n;
printf("Enter the number of colors (less than 10)\n");
scanf("%d", &n);
printf("Enter colors as alphabets : ");
for (i = 0; i < n; i++){
scanf("%c", &a[i]);
}
printf("Entered colors are : ");
for (i = 0; i<n; i++){
printf("%c ", a[i]);
}
return 0;
}
如果我输入数组大小 3 和颜色 r y g ,输出不会打印所有三个输入,而是只打印一个。 我几乎没有意识到 scanf 函数有问题。可能是什么问题?
使用以下转换说明符
scanf(" %c", &a[i]);
^^^
这允许跳过例如对应于按下的 Enter 键的空格。
也在这个循环之后
for (i = 0; i<n; i++){
printf("%c ", a[i]);
}
发表声明
putchar( '\n' );