被这个问题难住了,老谭书上的习题来着,程序运行未输出结果就意外停止了。
题目是:写一个函数,输入一行字幅,将此字符串中最长的单词输出。我按我的思路写出来了,但是运行的时候window7总会跳出来说,xx.exe已经停止工作,各位高手说说是什么原因?还有,我总觉得我写的代码过于冗长,似乎应该还有更简单的方法,各位也介绍一下吧?
以下是我的代码:
程序代码:#include"stdio.h"
#include"stdlib.h"
int main()
{
char str[100];
int a,b,i,j,m,n,max[100],num[100],big[100],huge;
gets(str);
n=strlen(str);
while(i<n)
{
if(str[i]!=32)
num[j]=m;
else
{
num[j+1]=m;
}
m=m+1;
i=i+1;
j=j+2;
}
for(j=0;j<n;)
{
max[i]=num[j+1]-num[j];
big[i]=max[i];
i=i+1;
j=j+2;
}
for(i=0;i<n;i++)
{
if(max[i]>huge)
{
huge=max[i];
}
}
for(i=0;i<n;i++)
{
if(big[i]==huge)
break;
}
a=i+huge;
for(b=i;b<a;b++)
{
printf("%c",str[b]);
}
system("pause");
}









