|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include<stdio.h>
- int calculate(int A , int B );
- int Re();
- char Bool;
- int main()
- {
-
- Bool='Y';
- if(Bool=='Y')
- {
- Re();
-
- }
- else
- {
- return 0;
- }
-
- }
- int Re()
- {
- Bool='N' ;
- int a,b ;
- printf("请输入两个数 进行相加:\n");
- scanf("%d %d",&a,&b) ;
- printf("计算结果为:%d \n",calculate(a,b)) ;
- printf("想继续计算请输入Y 退出请输入N") ;
- scanf("%c",Bool);
-
- if(Bool=='Y')
- {
- Re();
- }
-
- }
- int calculate(int A , int B )
- {
- int result ;
- result= A + B;
- return result;
- }
复制代码
为什么跳到我想再调用函数Re的时候就结束程序了
哈哈,抱歉,还有一个典中典。
由于Bool是字符型,所以scanf("%c",&Bool)直接接收缓冲区里的回车。可以加一个getchar()吸收回车。
具体的可以上去博客搜索一下详细原因。
#include<stdio.h>
int calculate(int A , int B );
int Re();
char Bool;
int main()
{
Bool='Y';
if(Bool=='Y')
{
Re();
}
else
{
return 0;
}
}
int Re()
{
Bool='N' ;
int a,b ;
printf("请输入两个数 进行相加:\n");
scanf("%d %d",&a,&b) ;
printf("计算结果为:%d \n",calculate(a,b)) ;
printf("想继续计算请输入Y 退出请输入N\n") ;
getchar();
scanf("%c",&Bool);
if(Bool=='Y')
{
Re();
}
}
int calculate(int A , int B )
{
int result ;
result= A + B;
return result;
}
|
|