使用goto是个不好的习惯,用什麽可以替代。

来源:百度知道 编辑:UC知道 时间:2024/07/04 01:19:22
例如下面的代码怎麽样替换

/* Note:Your choice is C IDE */
#include "stdio.h"
#include "graphics.h"
int main()
{
int driver,mode;
char i[]="a",o[]="a";/*设定变量i为字符串变量.初始值为

a*/
mima: printf("\n请输入密码:");
scanf("%s",&i);
printf("你的密码是%s\n",i);
/*设定徇环条件*/
if(i==strcmp "12")
{
driver=VGA;
mode=VGAHI;
initgraph(&driver,&mode,"C:\\JMSOFT\\DRV");
bar3d(10,10,200,200,10,10);
getch();
closegraph();
}
else
{
printf("密码错误,请重新输入!!\n\n");
goto mima;
}
printf("\n请输入你的姓名:");
scanf("%s",&o);
printf("\n\n\n\n 欢迎进入我的首页!!!%s\n\n\n",o);
}

/*
goto语句可以完成从当前位置到指定标志位的跳转.
可以使用循环或子程序调用来代替goto的功能.
*/
#include "stdio.h"
#include"string.h"
void main()
{

char i[]="a",o[]="a";/*设定变量i为字符串变量.初始值为 a*/
do
{
printf("请输入密码:");
gets(i);
printf("你输入的密码是%s\n",i);
if(strcmp(i,"12")==0)
{
break;
}
else
{
printf("密码错误,请重新输入!!\n\n");
}
}while (1==1);

printf("\n请输入你的姓名:");
scanf("%s",&o);
printf("\n\n\n\n 欢迎进入我的首页!!!%s\n\n\n",o);
}

c的语法不知道怎么写,我用vb的语法给你改了一下,有点中文写英语。。。

do while true
{
printf("\n请输入密码:");
scanf("%s",&i);
printf("你的密码是%s\n",i);
/*设定徇环条件*/
if(i==strcmp "12")
{
driver=VGA;
mode=VGAHI;
initgr