鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[知识点备忘] S1E14:for语句和循环嵌套

[复制链接]
发表于 2020-4-21 12:32:21 | 显示全部楼层
for 语句里不能定义两种类型变量?按照甲鱼的示范程序我这编译偶问题!!!

Sonny@bogon ShareL]$ gcc -std=c99 work14-0.c
work14-0.c: In function ‘main’:
work14-0.c:6: error: expected identifier or ‘(’ before ‘int’
work14-0.c:6: error: ‘j’ undeclared (first use in this function)
work14-0.c:6: error: (Each undeclared identifier is reported only once
work14-0.c:6: error: for each function it appears in.)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 12:34:11 | 显示全部楼层
for (int i=0, j=10; i > j; i++, j--)这样才能过
for (int i=0, int j=10; i > j; i++, j--)这样就报错????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-5-8 11:30:52 | 显示全部楼层
========== 怎样留言才会更加有意义 ===== 这是个问题 =====
常用套路
_Bool flag=1;//标志
while(表达式)//也可是for
  if(表达式)
     ……
if(flag)
    ……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-8 11:33:22 | 显示全部楼层
肖-肖 发表于 2020-5-8 11:30
========== 怎样留言才会更加有意义 ===== 这是个问题 =====
常用套路
_Bool flag=1;//标志
//判断一个数是否为素数
#include<stdio.h>
int main()
{
    int i,num;
    _Bool flag=1;//素数判定标志

    printf("请输入一个整数: ");
    scanf("%d",&num);

    for(i=2;i<num/2;i++)
    {
        if(num%i==0)//说明能被i整除
        {
            flag=0;//不是素数->吧flag设置成0
        }
    }
    if(flag)
    {//能运行flag->1->是素数
        printf("%d是一个素数!\n",num);
    }
    else
    {
        printf("%d不是一个素数!\n",num);
    }
    return 0;
}
#endif

#if(1)
//打印9*9乘法表
#include<stdio.h>
void main()
{
    for(int i=1;i<=9;i++)
    {
        //int cj;
        for(int j=1;j<=i;j++)
        {//%-2d是什么意思
            printf("%d * %d = %d\t",i,j,i*j);
        }
        printf("\n");//putchar('\n');
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-5-8 11:39:17 | 显示全部楼层
Sonny.next 发表于 2020-4-21 12:34
for (int i=0, j=10; i > j; i++, j--)这样才能过
for (int i=0, int j=10; i > j; i++, j--)这样就报错 ...

你定义变量的时候会写:int i=0,int j=0吗?
不一个道理吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-18 20:06:04 | 显示全部楼层

请问一下,第一个for语句 “i < num/2”  是什么意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-7 00:00:54 | 显示全部楼层

吃饭,睡觉,学编程^o^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-2 19:58:58 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-15 23:39:59 | 显示全部楼层
打卡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-21 16:59:56 | 显示全部楼层
#include <stdio.h>

int main()
{
        int i,j;
        for (i=0,j=10; i < j; i++, j--)
        {
                printf("%d\n", i);
        }
printf("%d%d\n",i,j);//这里最后为什么打印出来的是55而不是46?
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-6 23:15:34 | 显示全部楼层
求问%d*%d = %-2d 中%-2d 为什么要加-2,我直接%d 也是能成功的。求解答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-21 20:50:46 | 显示全部楼层
for(i = 0 ; i <= n ; i++ )
(素数的求法有很多,这里用比较朴素暴力的方式)

for(;;)代表while(1){},永远为真的死循环

表达式1和3可以是一个简单的表达式,也可以是逗号表达式

分支结构决定了哪些语句会运行,哪些 语句不会运行,循环结构决定了那些语句 会被运行多少次

从内到外(攘外欲先安内)
14try2.png
14try1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-29 17:19:47 | 显示全部楼层
已看完
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-16 21:56:02 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-22 17:56:12 | 显示全部楼层
朝闻道夕死可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-31 10:56:09 | 显示全部楼层
那个素数的程序,好像 4  在我打的程序里面,他显示的是素数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-25 18:14:03 | 显示全部楼层
为什么九九乘法表那个代码,我的终端会直接弹出 10 * 11 = 110啊。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-25 18:17:12 | 显示全部楼层
han487965 发表于 2021-4-25 18:14
为什么九九乘法表那个代码,我的终端会直接弹出 10 * 11 = 110啊。。。

试了一下,for语句之下只会打印最终结果怎么破
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-5 17:54:21 | 显示全部楼层
懂了懂了   ----   谢谢小甲鱼老师
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-5 13:38:31 | 显示全部楼层
for 循环应该不能 int i=0, int j=10 吧
应该是: for(int i=0, j=10; i < j; i++, j--){}
这样才对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 19:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表