解题思路是什么啊?void fun(char *s);为什么要定义指针

img

img


#include <stdio.h>
void fun(char s[]);
int main()
{
char item[80];
gets(item);
fun(item);
printf("%s\n",item);
return 0;
}

/* 请在这里填写答案 */

解题思路是什么啊

暴力思路:
1.设一个字符串数组 num,要足够大。
2.确定字符串长度 strlen
3.从 0 到 strlen 循环迭代字符,如果字符为数字,存入 num 数组,num 数组下标加一。
4.循环完成在num下标处设置字符结尾 '\0'
5.拷贝 num 到 s

定义指针是为了传递数组地址,函数里面修改数组可以更改外面的数组值

c语言中允许使用指针变量或数组作为形参,二者是等价的,都是接受从实参数组传过来的地址。