转载自:http://www.cnblogs.com/yangyang0717/p/5638171.html ,以及学习自慕课网视频。
编写使用管道的程序】
我们在文件夹下,c语言做的每个程序都有一个独立的功能,我们可以将多个小程序使用管道连接到一起。
我们现在写一个程序aver.c,求任意个数的平均值:
#include <stdio.h>
int main()
{
int s, n;
scanf(“%d,%d”, &s, &n);
float v = s / n;
printf(“v = %f\n”, v);
return 0;
}
退出vim进行编译cc aver.c -o aver.out,我们得到aver.out,我们输入3000,3。
我们再写一个统计输入的程序acc.c:
#include <stdio.h>
int main()
{
int flag = 1;
int i;
int count = 0;
int s = 0;
while(flag){
scanf(“%d”, &i);
if(0==i) break;
count++;
s+=i;
}
printf(“%d,%d\n”,s,count);
return 0;
}
我们对这个函数进行编译cc acc.c -o acc.out
我们输入3000 2000 0,
输出总工资5000和人数2。
我们不妨使用以上两个程序结合起来,将所有数据进行统计acc.out,之后通过管道经过aver.out计算平均值,命令可以写为
./input.out | ./aver.out
然后进行输入,输入完成我们便得到了对应的平均工资。
以上就是通过管道,将两个小程序连接起来得到更复杂的程序的过程。