白小木 发表于 2019-5-21 00:07:21

do while 语句循环

看来视频想用do while循环语句做个输入密码的小代码,可运行后直接出的
请输入密码;0
欢迎回家

--------------------------------
Process exited after 0.03482 seconds with return value 0
请按任意键继续. . .
虽然隐约知道自己错哪了,但就是想不出来了,望大神指点
代码如下
#include<stdio.h>

int main()
{
        int i ;
        printf("请输入密码;%d\n",i);
        do
        {
               
        }

        while(i==123456) ;
        printf("欢迎回家\n");
       
        return 0;
}

jackz007 发表于 2019-5-21 00:18:28

      楼主的代码问题太多了,我已经改好了。
#include <stdio.h>

int main()
{
      int i                              ;
      for(;;) {
                printf("请输入密码 : ")      ;
                scanf("%d" , & i)            ;
                if(i == 123456) {
                        printf("欢迎回家\n") ;
                        break                ;
                }
                printf("密码错误!\n\n")   ;
      }
}

白小木 发表于 2019-5-21 00:29:26

jackz007 发表于 2019-5-21 00:18
楼主的代码问题太多了,我已经改好了。

大佬又是你啊,尴尬,就是我用if语句能琢磨出来,就是先看视频时小甲鱼说,do while语句可以用来判断密码的正误,我才想试一试, printf("密码错误!\n\n")   ;大佬这里两个\n是啥意思呀
for(;;)大佬,我刚好看的for循环,括号里两个分号前后不写条件有点迷糊

白小木 发表于 2019-5-21 00:32:05

白小木 发表于 2019-5-21 00:29
大佬又是你啊,尴尬,就是我用if语句能琢磨出来,就是先看视频时小甲鱼说,do while语句可以用来判断密码 ...

对了,大佬再帮忙看看这个吧
#include<stdio.h>

int main()
{
        int i,num;
        _Bool flag = 1;//布尔类型,结果出现1就是素数
       
        printf("请输入一个整数:");
        scanf("%d",&num);//接受整数和num
       
       for(i =2;i< num/2;i++)
       {
               if(num % i ==0 )
               {
                       flag = 0;
               }
       }
       if (flag)
       {
               printf("%d是一个宿数!\n",num);
       }
       else
       {
               printf("%d不是一个素数!\n",num);
       }
        return 0;
}

编译显示
6        2        F:\所有C语言编程\Dev-Cpp\lianxiC++\判断素数.cpp        '_Bool' was not declared in this scope
15        5        F:\所有C语言编程\Dev-Cpp\lianxiC++\判断素数.cpp        'flag' was not declared in this scope
不是很懂

jackz007 发表于 2019-5-21 00:36:18

本帖最后由 jackz007 于 2019-5-21 00:38 编辑

把这一句改一下:
      _Bool flag = 1;
要改成这样
      bool flag = 1;

白小木 发表于 2019-5-21 00:38:33

jackz007 发表于 2019-5-21 00:36
把这一句改一下:

要改成这样

不会改{:5_96:}

白小木 发表于 2019-5-21 00:43:25

jackz007 发表于 2019-5-21 00:36
把这一句改一下:

要改成这样

谢谢你,刚看完视频弹幕,这几个问题都解决了{:5_109:}

jackz007 发表于 2019-5-21 00:48:01

本帖最后由 jackz007 于 2019-5-21 00:50 编辑

白小木 发表于 2019-5-21 00:29
大佬又是你啊,尴尬,就是我用if语句能琢磨出来,就是先看视频时小甲鱼说,do while语句可以用来判断密码 ...

for(;;) 括号里面有 2 个分号,其中,出现在第一个分号之前的是在开始循环之前需要执行的代码,在这里,可以同时为多个变量赋值,只要在赋值语句之间用逗号隔开就可以了;位于两个分号之间的代码是维持循环继续执行的逻辑表达式,只要这个表达式的值为 true(真),循环就会继续,如果这个表达式缺失了,那就意味着循环没有终点;位于第二个分号后面的代码是每次执行完循环语句块代码后需要执行的代码,也可以在这里同时为多个变量赋值,只要在赋值语句之间使用逗号隔开就可以了。

白小木 发表于 2019-5-21 01:02:30

jackz007 发表于 2019-5-21 00:48
for(;;) 括号里面有 2 个分号,其中,出现在第一个分号之前的是在开始循环之前需要执行的代码,在这里 ...

&#127383;,学到了,谢谢大佬,早点休息,晚安睡觉了{:5_103:}
页: [1]
查看完整版本: do while 语句循环