#include <stdio.h> #include <stdlib.h> void function(char n[]) { int a[10] = {0}; while (n > 0) { int b = char*n % 10; a[b]++; char *n /= 10; } for (int i = 0; i < 10; i++) { if (a[i] > 0) { printf("%d %d\n", i, a[i]); } } } int main() { char n[1001]; scanf("%s", n); function(n); return 0; }改错
时间: 2024-01-07 20:05:17 浏览: 34
代码中有几个错误,以下是修正后的代码:
```c
#include <stdio.h>
#include <stdlib.h>
void function(char n[])
{
int a[10] = {0};
char *p = n; // 保存原始指针,以便后续修改
while (*p != '\0') // 更改循环判断条件
{
int b = *p - '0'; // 将字符转换为数字
a[b]++;
p++; // 指针后移
}
for (int i = 0; i < 10; i++)
{
if (a[i] > 0)
{
printf("%d %d\n", i, a[i]);
}
}
}
int main()
{
char n[1001];
scanf("%s", n);
function(n);
return 0;
}
```
主要的改动如下:
1. 在 `function` 函数中,原来的 `n > 0` 应该改为 `*n != '\0'`,表示指针指向的字符不是字符串结尾。
2. 在 `function` 函数中,将 `char*n` 改为 `*n`,表示取指针指向的字符。
3. 在 `function` 函数中,将取出的字符转换为数字需要减去字符 '0'。
4. 在 `function` 函数中,需要用一个指针 `p` 保存原始的指针 `n`,以便后续修改。
5. 在 `function` 函数中,循环结束后需要将指针 `p` 后移一位,指向字符串结尾的 '\0'。
6. 在 `main` 函数中,将 `char n` 改为 `char n[1001]`,表示定义了一个字符数组。
7. 在 `main` 函数中,将 `&n` 改为 `n`,表示直接传递数组名即可。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)