标题:求助c语言中下面这个程序中的 for(j=0;j<MAX;j++)的意思,及在这起的作用? ...
只看楼主
吴上天命
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2014-4-22
结帖率:0
已结贴  问题点数:10 回复次数:15 
求助c语言中下面这个程序中的 for(j=0;j<MAX;j++)的意思,及在这起的作用?????
#include<stdio.h>
#include<string.h>
#define  MAX 100000000
int main()
{
    long int  n=30,j,i;
/*printf("please input n:\n");
    scanf("%d",&n);*/   
    for(i=0;i<n;i++)
    {
        putchar('\r');//printf("\r")表回车
        for(j=0;j<i;j++)
        printf(" ");
        printf("\n");
        printf("%c",1);
        for(j=0;j<MAX;j++);
    }
    printf("\n");
    return 0;
}
这个程序中的for(j=0;j<MAX;j++);是什么意思?起什么作用?
搜索更多相关主题的帖子: include please c语言 
2014-04-22 20:26
Andrew_Lee
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:185
专家分:626
注 册:2014-3-21
得分:3 
这个可以用来延时
2014-04-22 21:30
吴上天命
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2014-4-22
得分:0 
回复Andrew_Lee:为什么加了这句笑脸就看起来在运动,没这句只是出现好多个笑脸
2014-04-22 22:03
Andrew_Lee
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:185
专家分:626
注 册:2014-3-21
得分:0 
回复 3 楼 吴上天命
加了之后,里面的for循环里i由1到2,由2到3,每次变化一次都有一个时间间隔。这里就是想要让加这个就是让笑脸以固定时间间隔打印出来。如果不加,for循环就会瞬间执行完。这种间隔变化以肉眼根本看不出来。
2014-04-23 09:07
吴上天命
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2014-4-22
得分:0 
那为什么会出现移动的效果呢?就是笑脸移一个格前面的一个笑脸就消失了呢?求助Andrew_Lee
2014-04-23 13:14
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:3 
给你发个好玩的代码

程序代码:
#include<stdio.h>
#include<windows.h>

int main()
{
    int i=0,j;
    printf("\n\n\n\t");
    while(1)
    {
        printf("%s","中国人");
        Sleep(80);
        printf("\b\b\b\b\b\b");
        printf("   ");
        i++;
        if(i>20)
        {
            printf("   ");
            for(j=0;j<20;j++)
            { 
                printf("\b\b\b\b\b\b");
            }
            i=0;
            printf("\t");
        }

       
    }
    return 0;
}

DO IT YOURSELF !
2014-04-23 13:44
Andrew_Lee
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:185
专家分:626
注 册:2014-3-21
得分:0 
回复 5 楼 吴上天命
这个问题,你只要搞清楚"\r"和"\n"的区别就好了。
"\r"表示回车,将光标位置移动到本行开头;
"\n"表示换行,将光标位置移动到下一行开头;
其实笑脸并没有消失,只不过被空格给覆盖了:
在这部分代码完成的:
        putchar('\r');
        for(j=0;j<i;j++)
             printf(" ");
其实,在本次循环的上次循环结束的时候,笑脸的确打印出来了,但是到本次循环的时候,你输出了一个回车,将光标重新放置在了行首,然后紧接着打印了i个空格将上次循环的打印的笑脸就给覆盖掉了。所以在后面加了个for(j=0;j<MAX;j++);每次循环结束的时间稍微延迟了一下,这样每次打印的就是本次循环显示的笑脸。这个延时的长度应该就是本次这个笑脸显示结束到下次笑脸开始出现的时间间隔。

2014-04-23 14:30
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
得分:3 
回复 7 楼 Andrew_Lee
楼上正解
2014-04-23 15:23
吴上天命
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2014-4-22
得分:0 
vc6.0的头文件没有graghics.h怎么办????怎么vc6.0好多头文件都没的呀!!!!郁闷。。。。求助。。。。求解???、
2014-04-23 21:10
Andrew_Lee
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:185
专家分:626
注 册:2014-3-21
得分:0 
那你就用TC,你到网上自己找找vc的图形库就好了、
2014-04-23 21:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-430492-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.598323 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved