标题:求助,镶嵌for循环打印特定字符,却出现打出整个ASCII标
只看楼主
九月飞雪
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-9-19
结帖率:0
已结贴  问题点数:20 回复次数:4 
求助,镶嵌for循环打印特定字符,却出现打出整个ASCII标
先上代码
程序代码:
#include<stdio.h>
#define LIMIT 6
int scend,scend0;
char let;

int main ()
{
        for(scend=0; scend <= LIMIT ; scend++)   //限制程序只有6行
        {
                for(scend0=0,let='A';scend0 <= scend ;let++,scend++)  //从A开是递增
                {       printf("%c",let);
                }
        printf("\n");
        }      

}
目的是打出这样的

A
BC
DEF
GHIJ
KLMNO
PQRSTU

但是我把程序编译(编译无警告和报错,编译器是gcc)后运行
出现
程序代码:
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������


 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������


 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������


 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������


 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������


 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������


 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������������������������������������������������������������������������������������������������^C
这样的无限循环(在 !"#$%&'()*+,-./0123456789:;之前还有一部分,但是无法正确的粘帖上来)
搜索更多相关主题的帖子: for 循环 字符 出现 ASCII 
2017-09-19 09:30
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
得分:5 
最后一个变量名写错了
for (scend0 = 0, let = 'A'; scend0 <= scend; let++, scend0++)  //从A开是递增
2017-09-19 09:48
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:5 
#include<stdio.h>
#define LIMIT 6
int main()
{
    int i,j,k;
    for (k=0,i=0; i<LIMIT; ++i,k+=i)
    {
        for (j=0; j<=i; ++j)
            printf("%c", 'A'+k+j);
        printf("\n");
    }

    char *s="ABCDEFGHIJKLMNOPQRSTU";
    for (i=0; i<LIMIT; ++i,s+=i)
        printf("%.*s\n", i+1, s);
}
2017-09-19 09:56
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
得分:5 
你这个错误挺多的
 for(scend=0; scend <= LIMIT ; scend++)   这样是7行。
我帮你改成了
程序代码:
#include<stdio.h>
#define LIMIT 6
int scend,scend0,m=0;
char let;

int main ()
{
        for(scend=0; scend <LIMIT ; scend++)   //限制程序只有6行
        {
                for(scend0=0,let=m+65;scend0 <= scend ;let++,scend0++,m++)  //从A开是递增
                         printf("%c",let);
                    
            printf("\n");
        }      
        return 0;
}
2017-09-19 17:29
李岚
Rank: 2
等 级:论坛游民
威 望:2
帖 子:19
专家分:72
注 册:2017-8-31
得分:5 
#include<stdio.h>
#define LIMIT 6
int scend,scend0;
char let;
char ch='A';
int main ()
{
    for(scend=0; scend <= LIMIT ; scend++)
    {
        for(scend0=0,let=ch;scend0 <= scend ;let++,scend0++)  
        {      
            printf("%c",let);

        }
        ch=let;
        printf("\n");
    }      

    return 0;
}
2017-09-19 19:36



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




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

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