首页 > 解决方案 > 尝试使用带指针的函数复制最长的单词

问题描述

#include <stdio.h>
#include <stdlib.h>

void longest_word(char *str[100], char *max[20]) {
    int i,j,length,longest,start,end;
    length=strlen(str);
    longest=0; start=0; end=0;
    for (i=0;i<strlen(str);i++)
    {
        if (str[i]=' ')
        {
            length=end-start;
            if (longest < length)
                for (j=0;j<length;j++)
                {
                    max[j]=str[start];
                    start++;
                }
                longest = length;
            start=i+1;
        }
        else
        {
            end++;
        }
    }


}

int main()
{
    char str[100]="Happiness can be found even in the darkest of places";
    char max[20], min[20];

    longest_word(str,max);
    printf("Longest word is %c",max);
    return 0;
}

我要做的是从给定的字符串中复制最长的单词。虽然使用了这个功能,但它并没有真正奏效。不确定我的逻辑是否有缺陷或我将字母复制到max[20]字符串的方式。有任何想法吗?

标签: c

解决方案


推荐阅读