不知君 发表于 2022-4-21 11:46:00

关于作业,很急

本帖最后由 不知君 于 2022-4-21 11:48 编辑

#include<stdio.h>

int main()
{
        int a;
        int i,j,s;
        s=0;
        for(i=0;i<10;i++)
        {
                scanf("%d",&a);       
       
                for(i=0,j=9;i<j;i++,j--);
                {
                        s=a;
                        a=a;
                        a=s;
                }

                printf("%4d",a);
        }
        return 0;
}
按照老师的ppt打出来的额,为啥不显示呢?
哪里出现问题了?
看图片吧,打出来的代码帖子吞了我的i

傻眼貓咪 发表于 2022-4-21 11:46:01

哪里一样了?

#include <stdio.h>

int main(){
        int a, i, j, t;
       
        for(i = 0; i < 10; i++)
        scanf("%d", &a);
       
        for(i = 0, j = 9; i < j; i++, j--)
        {
                t = a;
                a = a;
                a = t;
        }
       
        for(i = 0; i <10; i++)
        printf("%4d", a);
       
        return 0;
}

不知君 发表于 2022-4-21 12:15:52

傻眼貓咪 发表于 2022-4-21 12:10
哪里一样了?

为啥第一个for不用包括下面的,最后一个不是和第一个一样吗?但包括了又运行不了

傻眼貓咪 发表于 2022-4-21 12:43:07

for 一般写法如:for( xxxx ) { yyyy }
{} 花括号表示 for 的作用域,当 {} 花括号里只有一句代码时,可以省略括号,比如:

for ( xxxx) {
这里只有一句代码;
}

可以写成

for ( xxxx )
这里只有一句代码;

不知君 发表于 2022-4-21 12:47:12

傻眼貓咪 发表于 2022-4-21 12:43
for 一般写法如:for( xxxx ) { yyyy }
{} 花括号表示 for 的作用域,当 {} 花括号里只有一句代码时,可以 ...

大佬,我的意思是第一个循环体和第三个循环体的条件相同,为啥不能包括起来

傻眼貓咪 发表于 2022-4-21 12:59:11

不知君 发表于 2022-4-21 12:47
大佬,我的意思是第一个循环体和第三个循环体的条件相同,为啥不能包括起来

因为还没有逆置啊,就好像:
指令 A 是花 10块钱
指令 B 是赚 10块钱

A -> B -> A 和 A -> A-> B 一样吗?

傻眼貓咪 发表于 2022-4-21 13:01:46

不知君 发表于 2022-4-21 12:15
为啥第一个for不用包括下面的,最后一个不是和第一个一样吗?但包括了又运行不了

你注意看逆置的 for 代码,循环条件是 i < j,也就是数组的一半,而且也用 i,这里不就改变了 i 值吗?

不知君 发表于 2022-4-21 15:32:02

傻眼貓咪 发表于 2022-4-21 12:59
因为还没有逆置啊,就好像:
指令 A 是花 10块钱
指令 B 是赚 10块钱


好的,谢谢大佬,懂了{:5_106:}
页: [1]
查看完整版本: 关于作业,很急