我编写的C语言程序怎么执行后出现中文乱码?
#include"stdio.h"#include"stdlib.h"main(){charx;while(1){printf("请输入一个小写字母:");x=getch...
#include"stdio.h"
#include"stdlib.h"
main()
{
char x;
while(1)
{
printf("请输入一个小写字母:");
x = getchar();
printf("大写字母为:\n");putchar(x - 32);
}
} 展开
#include"stdlib.h"
main()
{
char x;
while(1)
{
printf("请输入一个小写字母:");
x = getchar();
printf("大写字母为:\n");putchar(x - 32);
}
} 展开
5个回答
展开全部
这是肯定的。。比如你输入a 然后回车 getchar() 接收到的不是a 是回车 出来肯定是乱码 改法
int main()
{
char x;
while(1)
{
printf("请输入一个小写字母:");
x = getchar();
getchar();
printf("大写字母为\n");
putchar(x-32);
printf("\n");
}
return 0;
}
getchar 很不好用 还不如printf %s 来的好用
int main()
{
char x;
while(1)
{
printf("请输入一个小写字母:");
x = getchar();
getchar();
printf("大写字母为\n");
putchar(x-32);
printf("\n");
}
return 0;
}
getchar 很不好用 还不如printf %s 来的好用
展开全部
用fflush(stdin);来清空键盘缓冲区,
使用getch等都是治标不治本的办法,可以多学习一下fflush的使用,对于大批量的手动输入,很有帮助
头文件:#include <conio.h>
#include"stdio.h"
#include"stdlib.h"
#include <conio.h>
main()
{
char x;
while(1)
{
printf("请输入一个小写字母:");
fflush(stdin);//清空键盘缓冲区
x = getchar();
printf("大写字母为:\n");putchar(x - 32);
}
}
使用getch等都是治标不治本的办法,可以多学习一下fflush的使用,对于大批量的手动输入,很有帮助
头文件:#include <conio.h>
#include"stdio.h"
#include"stdlib.h"
#include <conio.h>
main()
{
char x;
while(1)
{
printf("请输入一个小写字母:");
fflush(stdin);//清空键盘缓冲区
x = getchar();
printf("大写字母为:\n");putchar(x - 32);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include"stdio.h"
#include"stdlib.h"
void main()
{
char x;
while(1)
{
printf("请输入一个小写字母:");
x = getchar();
getchar();// 增加一个getchar函数用来接收输入字母完成后按下的回车信息
printf("大写字母为:\n");
putchar(x - 32);
}
}
#include"stdlib.h"
void main()
{
char x;
while(1)
{
printf("请输入一个小写字母:");
x = getchar();
getchar();// 增加一个getchar函数用来接收输入字母完成后按下的回车信息
printf("大写字母为:\n");
putchar(x - 32);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
getchar()函数读取了你的换行符,引起了这个错误。
你输入a+回车实际上后面有两个换行符,所以每个字母输出了2次
x = getchar();
if(x>95) printf("大写字母为:\n");putchar(x - 32);
这样就好了
你输入a+回车实际上后面有两个换行符,所以每个字母输出了2次
x = getchar();
if(x>95) printf("大写字母为:\n");putchar(x - 32);
这样就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<stdlib.h>
main(void)
{
char x;
printf("请输入一个小写字母:");
x = getchar();
printf("大写字母为:\n");putchar(x - 32);
system ("PAUSE");
}
PS:你是哪个学院的啊???呵呵。。。我也是王来金的学生啊~~
#include<stdlib.h>
main(void)
{
char x;
printf("请输入一个小写字母:");
x = getchar();
printf("大写字母为:\n");putchar(x - 32);
system ("PAUSE");
}
PS:你是哪个学院的啊???呵呵。。。我也是王来金的学生啊~~
追问
呃,囧,我是新闻的,副修了计算机。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询