【发布时间】:2009-11-19 00:37:03
【问题描述】:
这是我的代码!(对不起我的英语不好)
#include<stdio.h>
int convert(char ch);
int main(void)
{
char ch=0;
while(ch != 'q')
{
ch=getchar();
ch=convert(ch);
if(ch == -1)
printf("wrong input");
else
putchar(ch);
putchar('\n');
}
return 0;
}
int convert(char ch)
{
if(ch>='A' && ch<='Z')
ch+=32;
else if(ch>='a' && ch<='z')
ch-=32;
else
return -1;
}
这段代码用于将A更改为a,将z更改为Z 将小写字母转换为大写字母,或反向。
但完成后,每当我将字符放入程序时,我都会发现一些奇怪的东西,
它总是返回我预期的结果和另一个“错误输入”。 除了字符和 Enter 之外,我没有在标准输入中添加任何内容。
所以,这是我的问题。
函数 getchar() 或其他类似 fgetc 的函数,fgets 接收一个“输入”作为字符?
【问题讨论】:
标签: c