H5W3
当前位置:H5W3 > 问答 > 正文

Dev ld returned 1 exit status问题

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,请问是什么问题?
原题 用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函数

回答

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

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;
}

未经允许不得转载:H5W3 » Dev ld returned 1 exit status问题

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址