设计一个鼓励人乐观向上的函数,出错了。求大神指点!

程序要求实现内容:提问:请问你是否喜欢自己。回答是,输出:你很乐观,要对生活继续保持激情!回答否:自信点,你很好的!其他回答:你输入错误数据。继续提问:请问你是否重新回答问题。回答是,回到第一个问题。回答否:请退出程序界面。其他回答:输出:你输入错误数据。回到第一个问题。

#include<stdio.h>

int main()

{int i,j;

for(;;)

{do

{

printf("请问你是否喜欢自己(输入1确认是,0确认否):\n");

 scanf("%d",&i);

 switch(i)

 {case 1:printf("你很乐观,要对生活继续保持激情!\n");break;    //跳出switch中case 1下面的语句

  case 0:printf("自信点,你很好的!\n");break;                            //跳出case 0下面的语句

  default:printf("你输入错误数据了。\n");}                                    //如果变量i输入其他数字时

printf("请问你是否重新回答问题(输入1确定是,0确认否):\n");

scanf("%d",j);

}while(j==1);

if(j==0)

    {printf("请退出程序界面。\n");break;}                //跳出for 循环

else

    {printf("你输入错误数据了。\n");continue;}    //回到for 循环

}

    return 0;

}

代码编译没有错误。但是运行的时候出现两个Bug。第一次执行第一个问题时如果给i输入其他数字。程序会循环显示“你输入错误数据了。”第一次执行“请问你是否重新回答问题”不管你输入什么,程序都会停止运行。

级数
浏览 1237回答 1
1回答

秋天不落叶

scanf("%d",j);少了取地址符,应为scanf("%d",&j);
打开App,查看更多内容
随时随地看视频慕课网APP