不愿秃头胡少年 发表于 2021-9-20 13:29:30

1*2*3*4*5=

int main()
{
        int i = 2;
        int t = 1;

        while (5 <= i)
        {
                t* i = t;

                i++;
        }
        printf("t=%d\n", t);

        return 0;
}
应该怎么改呢

wp231957 发表于 2021-9-20 13:35:28

这个用for循环比较好一些

jhq999 发表于 2021-9-20 15:25:05

t* i = t;????

不愿秃头胡少年 发表于 2021-9-20 15:34:37

jhq999 发表于 2021-9-20 15:25
t* i = t;????

怎么了

不愿秃头胡少年 发表于 2021-9-20 15:35:21

jhq999 发表于 2021-9-20 15:25
t* i = t;????

刚刚学while语句就想试试看能不能写

不愿秃头胡少年 发表于 2021-9-20 15:36:31

不愿秃头胡少年 发表于 2021-9-20 15:34
怎么了

报错也是这一行,但是我不知道错了哪里

wp231957 发表于 2021-9-20 16:37:57

不愿秃头胡少年 发表于 2021-9-20 15:36
报错也是这一行,但是我不知道错了哪里

t* i = t;
这个语句表示把t这个值赋给t*i
这里面就有多个不可以了,首先t*i这是一个非法变量

jhq999 发表于 2021-9-20 16:46:10

本帖最后由 jhq999 于 2021-9-20 20:35 编辑

不愿秃头胡少年 发表于 2021-9-20 15:34
怎么了

t=t*i;是t*i的结果赋值给t
t* i = t;t怎么赋值给t*i???
记住,在c里面“=”是赋值意思,不是等于,而且是右赋值给左

Gacy 发表于 2021-9-20 16:56:47

不愿秃头胡少年 发表于 2021-9-20 15:34
怎么了

好奇怪这样赋值{:10_254:}

不愿秃头胡少年 发表于 2021-9-21 01:24:00

jhq999 发表于 2021-9-20 16:46
t=t*i;是t*i的结果赋值给t
t* i = t;t怎么赋值给t*i???
记住,在c里面“=”是赋值意思,不是等于,而 ...

好的,谢谢了

不愿秃头胡少年 发表于 2021-9-21 01:24:35

wp231957 发表于 2021-9-20 16:37
t* i = t;
这个语句表示把t这个值赋给t*i
这里面就有多个不可以了,首先t*i这是一个非法变量

好的,谢谢了

易道云 发表于 2021-9-22 02:08:20

你条件判断都不成立

不愿秃头胡少年 发表于 2021-9-22 09:31:24

jhq999 发表于 2021-9-20 16:46
t=t*i;是t*i的结果赋值给t
t* i = t;t怎么赋值给t*i???
记住,在c里面“=”是赋值意思,不是等于,而 ...

我后面写成t*=i,他就运行了,我在网上查*=就相当于t=t*i,
为什么,我用t=t*i,这种不可以,用t*=i就可以呢

晴雨皆宜 发表于 2021-9-22 12:31:19

开卷有益,多多益善····

晴雨皆宜 发表于 2021-9-23 11:53:57

陈年老酒

sunyt 发表于 2021-9-23 14:32:45

不愿秃头胡少年 发表于 2021-9-22 09:31
我后面写成t*=i,他就运行了,我在网上查*=就相当于t=t*i,
为什么,我用t=t*i,这种不可以,用t*=i就可以 ...

你用的是t*i=t, 意思是把t赋值t*i这个非法变量

不愿秃头胡少年 发表于 2021-9-24 09:49:39

sunyt 发表于 2021-9-23 14:32
你用的是t*i=t, 意思是把t赋值t*i这个非法变量

懂了,谢谢

434773632 发表于 2021-9-24 17:08:26

#include"stdio.h"
int main()
{
        int s=1;
        int i;
        for(i=1;i<=5;i++)
        {
                s=s*i;
        }
        printf("%d",s);
}

boat7 发表于 2021-9-25 09:51:14

int main()
{
      int i = 2;
      int t = 1;

      while ( i<=5 )
      {
                t=t*i;

                i++;
      }
      printf("t=%d\n", t);

      return 0;
}

boat7 发表于 2021-9-25 09:57:02

boat7 发表于 2021-9-25 09:51


楼主的代码有两个问题:
①while (5 <= i),这样子i一开始就不会进入循环,应改为while ( i<=5 );
②t* i = t,这里是把t*i赋值给t,应该是t=t*i;
{:10_323:}
页: [1] 2
查看完整版本: 1*2*3*4*5=