我想将一个变量中的一个字符放入C中的字符数组中。另外我想要看到后面的反转数组,但现在不是问题。
这是我到目前为止所获得的代码:
作为标准我使用txt文件"< input.txt中"作为命令行参数,它有57个字符。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int counter = 0;
char character_array[57];
int i = 0;
int j = 0;
char character = 0;
// While EOF is not encountered read each character
while (counter != EOF)
{
// Print each character
printf("%c", counter);
// Continue getting characters from the stdin/input file
counter = getchar(stdin);
// Put each character into an array
character_array[j] = { counter };
j = j + 1;
}
// Print the array elements in reverse order
for (i = 58; i > 0; i--)
{
character = character_array[i];
printf("%c", character);
}
return 0;
}
我的IDE在第一个大括号&#34;预期表达&#34;。
之后的第35行说// Put each character into an array
character_array[j] = { counter };
所以我猜它失败了。我假设我不能只在数组中放置像这样的字符变量?我怎么会这样做呢?
PS:我是C的新手。
答案 0 :(得分:1)
character_array[j] = counter;
就是这么简单我认为
答案 1 :(得分:0)
删除该行中的{
和}
,使其如下所示:
character_array[j] = counter ;
改进代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int counter = 0;
char character_array[57];
int i = 0;
int j = 0;
//char character = 0; Unused variable
// While EOF is not encountered read each character
while ((counter = getchar()) != EOF)
{
// Print each character
printf("%c", counter);
character_array[j] = counter;
j++;
}
for (i = j - 1; i >= 0; i--) /* Array indices start from zero, and end at length - 1 */
{
printf("%c", character_array[i]);
}
}