主题:麻烦帮我看看是怎么了
zlinsc
[专家分:0] 发布于 2010-05-12 20:29:00
#include<stdio.h>
#include<string.h>
static int t=0;
void main()
{
int m(n);
int i;
char n[100];
gets(n);
printf("最长的单词是:");
for(i=m(n);i<=t;i++)
printf("%c",n[i]);
printf("\n");
}
int m(n)
{
int i,j=0,k;
[color=FF0000]for(i=0;n[i]!='\0';i++)[/color]
{
[color=FF0000]if(n[i]!=' ')[/color]
j++;
else if(t<j)
{
k=i-j;
t=j;
}
j=0;
}
return(k);
}
红色处提示:subscript requires array or pointer type
回复列表 (共9个回复)
沙发
雪光风剑 [专家分:27190] 发布于 2010-05-12 20:44:00
int m(n)
你的形参里怎么没写类型?
板凳
zlinsc [专家分:0] 发布于 2010-05-12 20:55:00
改了怎么又内存错误?
#include<stdio.h>
#include<string.h>
static int t=0;
void main()
{
int m(char n[]);
int i;
char n[100];
gets(n);
printf("最长的单词是:");
for(i=m(n);i<=t;i++)
printf("%c",n[i]);
printf("\n");
}
int m(char n[])
{
int i,j=0,k;
for(i=0;n[i]!='\0';i++)
{
if(n[i]!=' ')
j++;
else if(t<j)
{
k=i-j;
t=j;
}
j=0;
}
return(k);
}
3 楼
雪光风剑 [专家分:27190] 发布于 2010-05-12 21:02:00
我运行你的程序倒是没出错误,只不过没结果,你能注释一下你的代码吗?
4 楼
zlinsc [专家分:0] 发布于 2010-05-12 21:09:00
#include<stdio.h>
static int t=0;
void main()
{
int m(char n[]);
int i;
char n[100];
gets(n); /*输入一英文句子*/
printf("最长的单词是:");
for(i=m(n);i<=t;i++)
printf("%c",n[i]); /*输出句子中最长的单词*/
printf("\n");
}
int m(char n[]) /*求出输出最长的单词首字母所对应字符串底数*/
{
int i,j=0,k;
for(i=0;n[i]!='\0';i++)
{
if(n[i]!=' ')
j++;
else if(t<j)
{
k=i-j;
t=j; /*最长单词的长度为t*/
}
j=0;
}
return(k);
}
5 楼
雪光风剑 [专家分:27190] 发布于 2010-05-12 21:28:00
你子函数里的j=0写错地方了吧,是不是应该写在else里才对
6 楼
fairydream [专家分:0] 发布于 2010-05-14 11:03:00
子函数的形式参数生命有误!
7 楼
yu1374 [专家分:0] 发布于 2010-05-24 19:02:00
还是一个错的!
8 楼
yu1374 [专家分:0] 发布于 2010-05-24 19:04:00
i=m(n)是什么意思?
9 楼
lzjpc500 [专家分:0] 发布于 2010-05-25 10:13:00
调有m这个函数,参数为n
我来回复