|  | 
 
 发表于 2011-4-13 15:35:48
|
显示全部楼层 
| #include "stdafx.h"//这个你先不用管它 #include  <stdio.h>
 #define FALSE 0
 #define TRUE  1
 
 int Add(int a, int b);//函数声明
 void MyPrintf(int flag);//函数声明
 
 int Add(int a, int b)//函数定义
 {
 int answer;
 int ok = FALSE;//默认返回回答错误,用1或者0这样的数字很难分清其代表的具体含义
 
 printf("%d+%d=",a, b);
 scanf("%d", &answer);
 if(a + b == answer)
 {
 ok = TRUE;
 }
 
 return ok;//根据返回ok的值判断是否回答正确
 }
 
 void MyPrintf(int flag)
 {
 if(flag)
 {
 printf("Right!\n"); //flag等于ok时候输出
 }
 else
 {
 printf("Not correct!\n");
 }
 }
 int main(int argc, char* argv[])
 {
 int a;
 int b;
 int flag;//作为标志
 
 printf("Input a, b:");
 scanf("%d,%d",&a, &b);
 flag = Add(a, b);
 MyPrintf(flag);//根据flag的值来输出不同的结果,此处的FLAG并非上边MyPrintf中的那个flag
 
 return 0;
 }
 我是这么给你改的程序看看你能不能看懂吧,这个flag只是作为标志来用的,正常应该是布尔类型,但是这里用int也是一样的。
 | 
 |