gpt4 book ai didi

c - 从字符数组中扫描整数

转载 作者:太空宇宙 更新时间:2023-11-04 04:16:09 26 4
gpt4 key购买 nike

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main() {

int a[10];
for (int i=0 ; i<10;i++){
a[i]=0;
}

char *str = (char *)malloc(1024*sizeof(char));
scanf("%s",str);
str = realloc(str, strlen(str)+1);

for (int i = 0;i<strlen(str);i++){

for ( int j = 0;j<=9;j++){
if(*str=='j') a[j]++;
}

str++;
}
for (int i=0 ; i<10;i++){
printf("%d ",a[i]);
}
return 0;
}

if(*str=='j') a[j]++; 期间的这段代码中,条件 *str == j 总是返回 false ,因此 a[j] 的值根本没有改变。

为什么会发生这种情况,我该如何解决?

代码应该扫描给定数组中的整数并给出数字出现的频率。

示例输入:a11472o5t6

输出:0 2 1 0 1 1 1 1 0 0

最佳答案

我想也许你想要的是 if(*str=='0'+j) a[j]++;

换句话说,如果 j 为零,则检查 '0' 字符;如果 j 为 1,则检查 '1',依此类推

关于c - 从字符数组中扫描整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52172996/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com