Sonny.next 发表于 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.)

Sonny.next 发表于 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--)这样就报错????

肖-肖 发表于 2020-5-8 11:30:52

========== 怎样留言才会更加有意义 ===== 这是个问题 =====
常用套路
_Bool flag=1;//标志
while(表达式)//也可是for
if(表达式)
   ……
if(flag)
    ……

肖-肖 发表于 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');
    }
}

肖-肖 发表于 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吗?
不一个道理吗

rango_xz 发表于 2020-5-18 20:06:04

肖-肖 发表于 2020-5-8 11:33


请问一下,第一个for语句 “i < num/2”是什么意思

四眼一呆 发表于 2020-6-7 00:00:54


吃饭,睡觉,学编程^o^

风小闲 发表于 2020-8-2 19:58:58

1

guad268 发表于 2020-8-15 23:39:59

打卡

oooooook 发表于 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;
}

cinmay 发表于 2020-9-6 23:15:34

求问%d*%d = %-2d 中%-2d 为什么要加-2,我直接%d 也是能成功的。求解答

1315038808 发表于 2020-10-21 20:50:46

for(i = 0 ; i <= n ; i++ )
(素数的求法有很多,这里用比较朴素暴力的方式)

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

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

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

从内到外(攘外欲先安内)

沉下心来学习 发表于 2020-10-29 17:19:47

已看完

646276008 发表于 2020-11-16 21:56:02

{:10_249:}

11177 发表于 2020-11-22 17:56:12

朝闻道夕死可以

apokjj 发表于 2020-12-31 10:56:09

那个素数的程序,好像 4在我打的程序里面,他显示的是素数

han487965 发表于 2021-4-25 18:14:03

为什么九九乘法表那个代码,我的终端会直接弹出 10 * 11 = 110啊。。。

han487965 发表于 2021-4-25 18:17:12

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

试了一下,for语句之下只会打印最终结果怎么破

做最好的自己520 发表于 2021-5-5 17:54:21

懂了懂了   ----   谢谢小甲鱼老师{:9_228:}

奶茶newfish 发表于 2021-6-5 13:38:31

for 循环应该不能 int i=0, int j=10 吧
应该是: for(int i=0, j=10; i < j; i++, j--){}
这样才对
页: 1 [2] 3
查看完整版本: S1E14:for语句和循环嵌套