【发布时间】:2023-02-25 11:00:07
【问题描述】:
我想制作一个大小为空的数组(如下面的 x 和 z)
--> 仅通过循环(不是通过 scanf、getchar() 或手动键入数组中的元素)用元素填充数组
--> 然后一行打印出元素,例如:
“偶数是:2,4,6,8,10,12,14,20” <-- 这是我想要得到的结果。
如果您对此有所帮助,我将不胜感激!
以下是我到目前为止所做的。
#include<stdio.h>
int main(){
int i,j;
int x[ 30 ];
char b[ 30 ];
for (i = 1; i<=20; i++){
if(i%2 ==0){
x[i] = i;
sprintf(b, " %d ", x[i]);
printf("Even nums are: %s ", b);
}
}
}
到目前为止,我使数组以循环中的“我”作为其元素。在那之后,我尝试将 char 数组连接到一个语句或类似的语句,char[0] = "2,4,6,8 ..." 但无法成功。
【问题讨论】:
-
将每个数字存储在数组中很重要吗?您是否满足于简单地打印您想要的输出:“偶数是:2,4,6,8,10,12,14,20“?
-
首先这里不需要任何数组。其次,请记住数组索引从零开始,使用基于一的索引会使您的代码看起来很奇怪,并且会让其他查看代码的人感到惊讶。
-
至于如何解决你的问题,
strcat函数可能有用。但请记住两件事:1)它要求目标字符串是一个实际初始化的空终止字符串,你的数组b不是那个;并且 2) 确保您知道将向字符串中添加多少个字符,并相应地调整大小(并记住空终止符所需的空间)。
标签: c