题目要求打印
F
FE
FED
FEDC
FEDCB
FEDCBA
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
char ch = 'F';
for (int i = 0; i < 6; i++)
{
for (int j = 0; j <= i; j++,ch--)
{
printf("%c",ch);
}
printf("\n");
}
return 0;
}
打印得不对吗?没有乱码啊,当这个字符=A 时,再-1 就变成@了,你看一下ASCII码表
你在循环外赋值,每次循环都会-1,你在最外层循环内赋值,每次都从'F'开始-1
程序没有错,那些也不是乱码,是遇到了控制字符,超过了可显示字符的范围