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;
}
应该怎么改呢 这个用for循环比较好一些 t* i = t;???? jhq999 发表于 2021-9-20 15:25
t* i = t;????
怎么了 jhq999 发表于 2021-9-20 15:25
t* i = t;????
刚刚学while语句就想试试看能不能写 不愿秃头胡少年 发表于 2021-9-20 15:34
怎么了
报错也是这一行,但是我不知道错了哪里 不愿秃头胡少年 发表于 2021-9-20 15:36
报错也是这一行,但是我不知道错了哪里
t* i = t;
这个语句表示把t这个值赋给t*i
这里面就有多个不可以了,首先t*i这是一个非法变量 本帖最后由 jhq999 于 2021-9-20 20:35 编辑
不愿秃头胡少年 发表于 2021-9-20 15:34
怎么了
t=t*i;是t*i的结果赋值给t
t* i = t;t怎么赋值给t*i???
记住,在c里面“=”是赋值意思,不是等于,而且是右赋值给左 不愿秃头胡少年 发表于 2021-9-20 15:34
怎么了
好奇怪这样赋值{:10_254:} jhq999 发表于 2021-9-20 16:46
t=t*i;是t*i的结果赋值给t
t* i = t;t怎么赋值给t*i???
记住,在c里面“=”是赋值意思,不是等于,而 ...
好的,谢谢了
wp231957 发表于 2021-9-20 16:37
t* i = t;
这个语句表示把t这个值赋给t*i
这里面就有多个不可以了,首先t*i这是一个非法变量
好的,谢谢了 你条件判断都不成立 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 09:31
我后面写成t*=i,他就运行了,我在网上查*=就相当于t=t*i,
为什么,我用t=t*i,这种不可以,用t*=i就可以 ...
你用的是t*i=t, 意思是把t赋值t*i这个非法变量 sunyt 发表于 2021-9-23 14:32
你用的是t*i=t, 意思是把t赋值t*i这个非法变量
懂了,谢谢 #include"stdio.h"
int main()
{
int s=1;
int i;
for(i=1;i<=5;i++)
{
s=s*i;
}
printf("%d",s);
} 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:51
楼主的代码有两个问题:
①while (5 <= i),这样子i一开始就不会进入循环,应改为while ( i<=5 );
②t* i = t,这里是把t*i赋值给t,应该是t=t*i;
{:10_323:}
页:
[1]
2