首页 新闻 会员 周边 捐助

Dev ld returned 1 exit status问题

0
悬赏园豆:5 [已解决问题] 解决于 2020-11-18 19:32

include<stdio.h>

int max(char a[]){
int i,j,k;char t[100];
j=0;k=0;
for(i=0;a[i]!='\0';i++){
if(((a[i]>='a')&&(a[i]<='z'))||((a[i]>='A')&&(a[i]<='Z'))){
j+=1;
}
if((a[i]' ')||(a[i]'.')||(a[i]=',')){
if(j>k){
k=j;
for(j=0;j<k;j++){
t[j]=a[i-k+j+1];
}
}
j=0;
}
}
for(i=0;t[i]!='\0';i++){
printf("%c\n",t[i]);
}
return 0;
}
int mian()
{
char b[100];
gets(b);
max(b);
return 0;
}

结果总是返回 [Error] ld returned 1 exit status,请问是什么问题?
原题 用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函数

彻~夜的主页 彻~夜 | 初学一级 | 园豆:197
提问于:2020-11-17 19:12
< >
分享
最佳答案
0

代码中有错误,是编译不了吧
如果按照你这个思路,参考如下的修订的代码

include <stdio.h>

include <string.h>

include <cctype>

int max(char a[]) {
int i, j, lastWordStart;
char t[100];
j = 0;
lastWordStart = 0;
for (i = 0; i <= strlen(a); i++) {
//if (((a[i] >= 'a') && (a[i] <= 'z')) || ((a[i] >= 'A') && (a[i] <= 'Z'))) {
if (isalpha(a[i])) {
j += 1;
}

    //if ( (0==a[i]) || (' ' == a[i]) || ('.'==a[i] ) || ',' == a[i]  || ispunct(a[i])) {
    if ((0 == a[i]) || isspace(a[i]) || ispunct(a[i])) {
        if (j > lastWordStart) {
            lastWordStart = j;
            int n = 0;
            for (n = 0; n < lastWordStart; n++) {
                t[n] = a[i - lastWordStart + n];
            }
            t[n] = 0;
        }

        j = 0;
    }
}

// for (i = 0; t[i] != '\0'; i++) {
// printf("%c\n", t[i]);
// }
printf("%s\n", t);
return 0;
}

int main() {
char b[100] = {0};
gets((char *) b);
max(b);
return 0;
}

收获园豆:5
2012 | 高人七级 |园豆:21645 | 2020-11-18 10:15

请问哪里有问题?

彻~夜 | 园豆:197 (初学一级) | 2020-11-18 19:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册