2.8.1
main.c
#include <stdio.h>
int increment(int);
int negata(int);
int main(void)
{
printf("increment(10):%d\n", increment(10));
printf("increment(0):%d\n", increment(0));
printf("increment(-10):%d\n", increment(-10));
printf("negata(10):%d\n", negata(10));
printf("negata(0):%d\n", negata(0));
printf("negata(-10):%d\n", negata(-10));
return 0;
}
increment.c
int increment(int n)
{
return n + 1;
}
negata.c
int negata(int n)
{
return -n;
}
2.8.2
#include <stdio.h>
int main(void)
{
int i = 0;
int sign;//标志
char str[100];
gets(str);
for(i = 0, sign = 0; str[i] != '\0'; i++)
{
if(str[i] == '{')
sign++;//找到左花括号让标志加一
else if(str[i] == '}' && sign)//找到右花括号并且标志>0
sign--;
else if(str[i] == '}' && sign == 0)//找到右花括号标志为0则说明先找到的是右花括号
{
sign--;
break;
}
}
if(!sign)//标志为真则表达式为假,假为真
puts("花括号都成对出现");
else
puts("花括号没有成对出现");
return 0;
}