这是我的密码,但没用
#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
3条答案
按热度按时间ffscu2ro1#
就在这个for循环中
使用转换说明符
%c
输出存储字符常量'$'
的元素。这是一个演示程序。
程序输出为
或将数组的元素输出为
可以使用以下for循环
wkftcu5l2#
您将用美元字符的ASCII代码替换数字。您可以执行以下两项操作之一:
保留数组,在打印的地方添加if语句,如果是偶数,打印数字,否则打印$
创建一个char* 数组。如果数组中的每个元素分配20个字符。使用sprintf打印每个元素中的数字或$。循环并打印新数组中的每个元素。
无论如何,你不能把'$'存储在int数组中,然后确定它是一个字符,它只是一个数字。
dluptydi3#
看问题是你想打印'$'来代替偶数号,但是唯一的问题是整数值仍然存在,数组中没有变化。
如果我说你写的代码显示了36,因为它是$的ASCII值,因为数组是整型,所以它打印了36来代替它。
但是我们可以存储它并使代码打印'$'。但是之后您必须使用%c格式说明符来打印它。