多个文件的问题
谭浩强《C语言程序设计》第七章例题:file1.c(文件1)
#include <stdio.h>
int main()
{
extern void enter_string(char str[]); //对函数的声明
extern void delete_string(char str[],char ch); //对函数的声明
extern void print_string(char str[]); //对函数的声明
//以上3行声明在本函数中将要调用的已在其他文件中定义的3个函数
char c,str;
enter_string(str); //调用在其他文件中定义的enter_string函数
scanf("%",&c); //输入要求删去的字符
delete_string(str,c); //调用在其他文件中定义的delete_string函数
print_string(str); //调用在其他文件中定义的print_string函数
return 0;
}
file2.c(文件2)
void enter_string(char str) //定义外部函数 enter_string
{
gets(str); //向字符数组输入字符串
}
file3.c(文件3)
void delete_string(char str[],char ch) //定义外部函数delete_string
{
int i,j;
for(i = j = 0;str != '\o';i++)
if(str != ch)
str = str;
str = 'o';
}
file4.c(文件4) //定义外部函数print_string
void print_string(char str[])
{
printf("%s\n",str);
}
写成这样,我不知怎么编译了。是要将 file1、file2、file3、file4 分别编译成 C 文件吗?若是,是编译好了以后,放同一个文件包里,再运行 file1吗?
谭浩强的书就别看啦 永恒的蓝色梦想 发表于 2020-8-25 08:08
谭浩强的书就别看啦
快看完了,还有三章。看完它,也算是有始有终吧;
你推荐一本网络编程的书吧,看完那三章,下一步想学网络编程;
上面的问题,我已经试成功了,与我猜想是一致的 风过无痕1989 发表于 2020-8-25 09:14
快看完了,还有三章。看完它,也算是有始有终吧;
你推荐一本网络编程的书吧,看完那三章,下一步想学 ...
很可惜,我自己都不会网络编程{:10_277:} 链接: https://pan.baidu.com/s/1xiCAcJz3ZZh99cVD5GBIhg 提取码: 2u3h
里面有个尹圣雨写的写的比较简单入门还不错 tttxiaoz 发表于 2020-8-25 10:19
链接: https://pan.baidu.com/s/1xiCAcJz3ZZh99cVD5GBIhg 提取码: 2u3h
里面有个尹圣雨写的写的比较简 ...
已经下载,看了一下适合人群,应该不错,谢谢朋友! 永恒的蓝色梦想 发表于 2020-8-25 09:33
很可惜,我自己都不会网络编程
那请教你另一个问题吧(其实还是上面这个题,我想将 file1 作一些修改),程序如下:
// 谭浩强C语言程序设计》第七章例题:有一个字符串,内有若干个字符,现输入一个字符,
// 要求程序将字符串中该字符删去。用外部函数实现。
#include <stdio.h>
int main()
{
extern void enter_string(char str[]); //对函数的声明
extern void delete_string(char str[],char ch); //对函数的声明
extern void print_string(char str[]); //对函数的声明
//以上3行声明在本函数中将要调用的已在其他文件中定义的3个函数
char c,tem,str;
enter_string(str); //调用在其他文件中定义的enter_string函数
scanf("%c",&c); //输入要求删去的字符
printf("程序将删除字符串中所有的字符 %c,是否继续?\n",c);
printf("按任意键继续删除,按 N 键中止\n");
scanf("%c",&tem);
if (tem != 'N')
{
delete_string(str,c); //调用在其他文件中定义的delete_string函数
}
print_string(str); //调用在其他文件中定义的print_string函数
return 0;
}
第二个输入语句 scanf("%c",&tem) 无效果(等待输入的动作都没有),也就是程序运行时,if 语句是用一个乱码来与 'N' 比较,所以,就直接执行下面的删除语句了
风过无痕1989 发表于 2020-8-25 10:45
那请教你另一个问题吧(其实还是上面这个题,我想将 file1 作一些修改),程序如下:
// 谭浩强C语言程序设计》第七章例题:有一个字符串,内有若干个字符,现输入一个字符,
// 要求程序将字符串中该字符删去。用外部函数实现。
#include <stdio.h>
int main()
{
extern void enter_string(char str[]); //对函数的声明
extern void delete_string(char str[],char ch); //对函数的声明
extern void print_string(char str[]); //对函数的声明
//以上3行声明在本函数中将要调用的已在其他文件中定义的3个函数
char c,tem,str;
enter_string(str); //调用在其他文件中定义的enter_string函数
scanf("%c%*c",&c); //输入要求删去的字符
printf("程序将删除字符串中所有的字符 %c,是否继续?\n",c);
printf("按任意键继续删除,按 N 键中止\n");
scanf("%c",&tem);
if (tem != 'N')
{
delete_string(str,c); //调用在其他文件中定义的delete_string函数
}
print_string(str); //调用在其他文件中定义的print_string函数
return 0;
}
页:
[1]