这是一个转化大小写字母的简单程序,但它的循环似乎有点问题,不是预期的样子,问题在哪呢?菜鸟求解

#include "stdio.h"
void main()
{
int i=0;
char ch;
while(i<=1)
{printf("请输入一个字母")
scanf("%c",&ch);
if(ch>=65&&ch<=90)
ch=ch+32;
else if(ch>='a'&&ch<='z')
ch=ch-32;
else
ch=ch;
printf("%c",ch);
i=i-1;
}
printf("over");
}

先提几个问题,
1.你的代码是编译不过的,有好几个问题。
2.排版很难看,不晓得是web的问题,还是copy上来就有问题。
3.大小写转换,直接用'A'--'Z'和'a',--'z'表示范围,然后通过表达式计算较方便,就不用记住asc码了。比如大写转小写:
if (ch >= 'A' && ch <='Z')
{
ch = 'a' + ch - 'A';
}

代码逻辑应该没有啥问题,你直接用vs跑下酒OK了

i初始值是0,while里又i=i-1,一直小于1,死循环了

你这个程序大小写转换是实现了的,可是是个无限循环,题意是什么样的呢

首先我就是要让他死循环,然后让我可以一直输

但是,我要的是一个一个转换

为什么你不贴上 你的测试结果呢,这样就可以省得我们再去给你测试了
顺便说一下 标准的 c 的 mian函数不是这样的
应该是这样

 int main (void){

    return 0;
}