2.8.1 编写一个程序,它由3个函数组成,每个函数分别保存在一个单独的源文件中。
//increment.c
int increment(int a)
{
return a+1;
}
//negate.c
int negate(int b)
{
return -b;
}
//<Pointers on C> p28 2.8.1
//main.c
#include <stdio.h>
int main(void)
{
printf("%d %d\n",increment(10),negate(10));
printf("%d %d\n",increment(0),negate(0));
printf("%d %d\n",increment(-10),negate(-10));
}
2.8.2 编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确地成对出现。
//<Pointers on C> p28 2.8.2
#include <stdio.h>
#include <stdlib.h>
#define LOCAL
int main()
{
#ifdef LOCAL
freopen("data.in","r",stdin);
freopen("data.out","w",stdout);
#endif
int braces = 0;
int ch;
while ( (ch = getchar()) != EOF )
{
if ( ch == '{')
{
braces++;
}
if ( ch== '}' )
{
if ( braces == 0 )
{
printf("Extra closing brace!\n");
}
else
{
braces -= 1;
}
}
}
if ( braces > 0 )
{
printf("%d unmatched opening brace(s)!\n",braces);
}
return EXIT_SUCCESS;
}