【发布时间】:2023-02-06 15:36:34
【问题描述】:
这是我的代码。它不起作用。
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int size, i;
setbuf(stdout,NULL);
printf("Enter array limit: ");
scanf("%d",&size);
printf("Enter values: ");
int arr[size];
for(i=0;i<size;i++){
scanf("%d",&arr[i]);
if(arr[i]%2==0){
arr[i]='$';
}
}
for(i=0;i<size;i++){
printf("%d\n",arr[i]);
}
return 0;
}
结果是:
36
3
36
1
【问题讨论】:
-
trusfated,
printf("%d\n",arr[i]);打印一个整数。$不是整数。当数字是偶数时,只需printf("$\n");。 -
如果您不询问输入而只生成数字,可能会更容易。
-
它有点奏效。您的数组包含整数,当您尝试将 $ 放入其中时,改为使用 $ 的 ASCII 值(即 36)
-
我敢打赌,问题陈述是“用'$'替换字符数组中的偶数值数字(然后打印“字符串”)”......
-
你可能想问问给你这个任务的人,以便澄清。在 C 中,包含整数的数组不能包含任何其他内容。所以不清楚这个练习应该完成什么。或者,您可以使用不同的语言,它允许数组包含任何内容。