字符数组做函数形参问题
发布网友
发布时间:2022-04-25 16:49
我来回答
共3个回答
热心网友
时间:2023-10-20 00:44
#include<stdio.h>
#include<string.h>
#define M 100
#define N 25
int main()
{
char c1(char str[M]);
char s1[M];
puts("请输入一个字符串:");
gets(s1);
c1(s1);
return 0;
}
char c1(char str[])
{
char c[N]="\0",ch[N]="\0";
int i,j,k,m,n;
for(i=0,j=0;i<N,j<M;i++,j++)
{
c[i]=str[j];
if(str[j]==' ')
{
i=-1;
m=strlen(ch);
n=strlen(c);
if(n>m)//问题在这里 strlen求的是数组长度 你定义的都是N=25 m=n下面的都不执行了
for(k=0;k<n-1;k++)
ch[k]=c[k];
}
else if(str[j]=='\0')
{
i=-1;
m=strlen(ch);
n=strlen(c);
if(n>m)//这里也是
for(k=0;k<N;k++)
ch[k]=c[k];
}
}
puts(ch);
return 0;
}
热心网友
时间:2023-10-20 00:44
c1(s1);改成c1(s1[0]);试试。
热心网友
时间:2023-10-20 00:45
好象不能把一个数组传递给函数吧,可能用指针传递
char c1(char *str)
{
}
这样应该就可以了吧