【发布时间】:2017-11-30 13:49:19
【问题描述】:
我是编程的初学者,并且得到了关于动态分配内存的任务。预期的输出之一是 printf 语句,其中所有输入的输入(整数)都打印在一行中。我已经设法在 for 循环中 printf,但这还不够。如何在单个代码行中打印它们?代码如下:
int main()
{
int how_many_integers, count, entered_integers, i, *pSize;
printf("\nHow many integers are you going to type?\n");
scanf("%i", &how_many_integers);
getchar();
// Allocates memory for the integers.
pSize = malloc (how_many_integers * sizeof(int));
// Checks if the integer is 0, and/or reads in all the integers.
if (how_many_integers == 0)
{
printf("No numbers were given.\n");
exit(0);
}
printf("Please enter your integers.\n");
for (int i = 0; i < how_many_integers; i++)
{
scanf("%i", &entered_integers);
count++;
pSize[i] = entered_integers;
}
for (int i = 0; i < how_many_integers; i++)
{
printf("Number: %i\n", *(pSize+i));
}
free(pSize);
printf("Count: %i", count);
return 0;
}
【问题讨论】:
-
int main{说什么? -
int main{?你是认真的吗?请发布实际代码,这是无效的 C. 从您编辑的代码中复制粘贴。如果它编译,它看起来不像那样。 -
"\n" 添加一个新行。当您省略它时,它会打印在同一行
-
不相关,但你从不初始化
count。 -
@Jakim 除非你初始化
count = 0,否则你的程序还是很错误的。
标签: c