3、用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函 数。 (1) 把两个函数放在同一程序文件中,作为一个文件进行编译和运行。 (2) 把两个函数分别放在两个程序文件中,作为两个文件进行编译、连接和运行。
时间: 2024-02-29 09:52:14 浏览: 40
以函数形式找出文件中最长的字符串
这是一个比较基础的编程问题,可以使用以下的代码实现:
```c
#include <stdio.h>
#include <string.h>
void longest_word(char* str) {
int max_len = 0, current_len = 0, max_index = 0, current_index = 0;
int len = strlen(str);
for(int i = 0; i < len; i++) {
if(str[i] == ' ' || str[i] == '\n') {
if(current_len > max_len) {
max_len = current_len;
max_index = current_index;
}
current_len = 0;
current_index = i + 1;
} else {
current_len++;
}
}
printf("The longest word is: ");
for(int i = max_index; i < max_index + max_len; i++) {
printf("%c", str[i]);
}
}
int main() {
char str[] = "This is a simple test sentence to find the longest word";
longest_word(str);
return 0;
}
```
这个程序把两个函数放在同一个文件里面,可以直接编译和运行得到结果。如果需要把这两个函数放在不同的文件里面,需要进行以下步骤:
1. 创建一个名为 `longest_word.c` 的文件,把 `longest_word` 函数放进去。
2. 创建一个名为 `main.c` 的文件,把 `main` 函数放进去。
3. 在 `main.c` 中包含 `longest_word.c` 文件,可以使用 `#include "longest_word.c"` 的方式包含。
4. 编译 `longest_word.c` 文件,生成一个名为 `longest_word.o` 的目标文件。命令为 `gcc -c longest_word.c -o longest_word.o`。
5. 编译 `main.c` 文件,生成一个名为 `main.o` 的目标文件。命令为 `gcc -c main.c -o main.o`。
6. 链接 `longest_word.o` 和 `main.o`,生成一个可执行文件。命令为 `gcc main.o longest_word.o -o main`。
7. 运行 `main` 可执行文件,得到结果。
阅读全文