在C语言里面,循环总是扮演着重要的角色。下面根据一个例子感受一下C语言循环的重要性。
第一,代码如下:
根据代码和结果可知,当把密码输入完毕时,不能继续输入Y或则N。查阅资料可知,代码里面含有输入函数,当程序运行时,计算机会出现一个输入缓冲区。输入123456,点击回车,此时缓冲区内有"123456"和"\n",123456存入到password数组里"\n"被getchar()函数获取。
为了解决如上问题,在代码里面又添加一个getchar()函数便得以解决。
代码结果如下:
但是,新的问题来了,当输入密码当中出现空格时,如"123456 abcd",又会出现以下问题。
因为此时在输入缓冲区里面分别为"123456"、" "、"abcd"、"\n"。而程序里面只包含了三个输入函数,最后一个输入函数所得的是"a",所以直接输出是放弃确认。那要怎么才能解决此问题呢??
这是只需要在代码里面加入一个循环即可解决。代码结果如下:
int main()
{
char ret;
char ch;
char password[20] = { 0 };
printf("请输入密码:>");
scanf("%s", password);
while ((ch = getchar()) != '\n')
{
;
}
printf("请确认(Y/N):>");
ret = getchar();
if (ret == 'Y')
{
printf("确认成功\n");
}
else
{
printf("放弃确认\n");
}
return 0;
}
综上所诉,可见循环在C语言中的重要性!!!