问题描述
- 菜鸟求解c语言中putchar和getchar的细节。
-
# include <stdio.h> int main() { int trans(char); char c; printf("输入一串字符串进行翻译: "); c = getchar(); while(c != ' ') { c = trans(c); printf("%d", c); getchar(); } putchar(' '); return 0; } trans(char ch) { if(ch >= 65 && ch <= 86 || ch >= 97 && ch <= 118) ch += 4; if(ch >= 87 && ch <= 90 || ch >= 119 && ch <= 122) ch -= 22; return ch; }
就是我只输入了4个字符,结果却输出了5个,这是怎么回事啊??
菜鸟正在学习,跪求大神解答!
解决方案
while()里的c = getchar();
解决方案二:
# include <stdio.h>
int main()
{
int trans(char);
char c;
printf("输入一串字符串进行翻译:
");
c = getchar();
while(c != '
')
{
c = trans(c);
printf("%d", c);
c=getchar();
}
putchar('
');
return 0;
}
trans(char ch)
{
if(ch >= 65 && ch <= 86 || ch >= 97 && ch <= 118) ch += 4;
if(ch >= 87 && ch <= 90 || ch >= 119 && ch <= 122) ch -= 22;
return ch;
}
应该这样改
解决方案三:
C 语言putchar和getchar()
时间: 2024-10-28 12:05:41