编写的C语言程序怎么执行时出现中文乱码?
源程序如下:#include"stdio.h"#include"stdlib.h"main(){charx;while(1){printf("请输入一个小写字母:");x...
源程序如下:
#include"stdio.h"
#include"stdlib.h"
main()
{
char x;
while(1)
{
printf("请输入一个小写字母:");
x = getchar();
printf("大写字母为:\n");putchar(x - 32);
}
} 展开
#include"stdio.h"
#include"stdlib.h"
main()
{
char x;
while(1)
{
printf("请输入一个小写字母:");
x = getchar();
printf("大写字母为:\n");putchar(x - 32);
}
} 展开
3个回答
展开全部
我在一个问题里已经回答过了,再贴一下:
用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);
}
}
用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);
}
}
展开全部
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);
这样就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你输入的小辩败手写字母是中枯森文还是什么?从第二个输入开始没看到你输入什么东西啊携嫌。。
如果你输入的是中文,中文的编码方式和字母是不同的。。
如果你输入的是中文,中文的编码方式和字母是不同的。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询