当输入为welcome时才执行else分支,退出while循环,执行后面的语句。
那个if语句这样看 if(strcmp(pwd, "welcome") != 0)
比较pwd 和 welcome只有当pwd 为welcome时才会执行返回0,这时才执行else语句break退出循环。
输入其他字符串时一直得到的要么是大于0的数要么是小于0的数,也就是执行的是if分支下的输出错误后返回while循环。
退出while循环后才能执行后面的,打印“正确”
while里面的是1,也就是一直是真,如果不输入如“welcome”,break跳出循环。就一直在while里面循环,后面的cout<< "正确“ << endl不会执行....
第一,你的变量pwd没有定义,这编译肯定是不能通过的
第二,cout<<"正确"<
最后,问题自己改
程序写的不全,程序执行的是
else
break;
所以显示
cout<<"正确"<
strcmp("welcome","welcome")返回值为0,执行else,即跳出循环,正确