用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函数
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、把两个函数放在同一个程序文件中,作为一个文件进行编译和运行
#include<stdio.h>
#include<string.h>
int main(){
char str[100];
void L_word(char a[]);
puts("输入字符串:");
gets(str);
puts("最长的单词是:");
L_word(str);
return 0;
}
void L_word(char a[]){
int i,j;
char t1[20],t2[20]={'\0'};
for (i=0;a[i]!='\0';i++) {
int j=0;
while(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z') {
t1[j++]=a[i++];
}
t1[j]='\0';
if(strlen(t1)>strlen(t2))
strcpy(t2,t1);
}
puts(t2);
}
二、把两个函数分别放在两个程序文件中,作为两个文件进行编译、连接和运行。
首先建立一个文件夹,在该文件夹下建立两个源文件fiile1.c和fiile2.c
file1.c
#include<stdio.h>
#include<string.h>
#include"file2.c"
int main(){
char str[100];
extern void L_word(char a[]);
puts("输入字符串:");
gets(str);
puts("最长的单词是:");
L_word(str);
return 0;
}
file2.c
#include<stdio.h>
void L_word(char a[]){
int i,j;
char t1[20],t2[20]={'\0'};
for (i=0;a[i]!='\0';i++) {
int j=0;
while(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z') {
t1[j++]=a[i++];
}
t1[j]='\0';
if(strlen(t1)>strlen(t2))
strcpy(t2,t1);
}
puts(t2);
}