C语言多文件编译、连接和运行

C语言多文件编译、连接和运行:
1.编写外部函数对应的头文件: file2.c–>file2.h, file3.c–>file3.h, file4.c–>file4.h,
把这些文件与主程序file1.c放在同一个文件夹下。
file2.h
void enter_string(char str[]);
file3.h
void delete_string(char str[],char ch);
file4.h
void print_string(char str[]);
2.在主程序file1.c首部引入各个头文件:
#include “file2.h”
#include “file3.h”
#include “file4.h”
3.MinGw编译: gcc file1.c file2.c file3.c file4.c
4.运行a.exe即可。

谭浩强老师案例补充:
有一个字符串,内有若干个字符,现输入一个字符,如果字符串中包含此字符,则把它删去。用外部函数实现。

主程序file1.c
#include <stdio.h>
#include <string.h>

#include “file2.h”
#include “file3.h”
#include “file4.h”

int main(void){
extern void enter_string(char str[]); //声明输入函数
extern void delete_string(char str[],char ch);//声明删除函数
extern void print_string(char str[]);//声明打印函数

char c;//准备删除的字符
char str[80];//定义字符数组
enter_string(str); //调用输入字符串函数
printf("输入要删除的字符: ");
scanf("%c",&c); 
delete_string(str,c);//调用删除字符函数
print_string(str); //调用删除函数

return 0;

}

外部程序 file2.c
#include <stdio.h>
void enter_string(char str[]){
printf("输入字符串: ");
gets(str);
}

外部程序 file3.c
#include <stdio.h>
void delete_string(char str[],char ch){
int i;//循环变量
int j;//未被删除的字符
for(i=j=0;str[i]!=’\0’;i++){
if(str[i]!=ch){
str[j++]=str[i];
}
}
str[j]=’\0’;
}

外部程序 file4.c
#include <stdio.h>
void print_string(char str[]){
printf("%s\n",str);
}

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值