| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 516 人关注过本帖
标题:[求助]帮忙找找哪里错了!
只看楼主 加入收藏
喝酸奶的鱼
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-3-8
收藏
 问题点数:0 回复次数:9 
[求助]帮忙找找哪里错了!

我写了一个简单的程序,输入字母,输出相应的Ascii码,或输入Ascii码,输出相应的字母。编译正确
运行时,当我选1,然后回车,系统就把我输的回车当作是b了好像.请大家帮我纠正一下,谢谢诶
main()
{ int a,i;
char b;
printf("1:letter into Ascii number.\n");
printf("2:Ascii number into letter.\n");
scanf("%d",&i);
if(i==1)
{
printf("please input your letter:\n");
scanf("%c",&b);
a=b;
printf("letter:%c ",b);
printf("Ascii:%d",a);
}
else
{
printf("input you Ascii number:\n");
scanf("%d",&a);
b=a;
printf("Ascii:%d ",a);
printf("letter:%c",b);
}

getch();
}

2007-03-18 21:59
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
你只需要加一个清空键盘缓冲区的函数就行
fflush(stdin);

羊肉串 葡萄干 哈密瓜!!
2007-03-18 22:11
无玩过界
Rank: 1
等 级:新手上路
威 望:2
帖 子:246
专家分:0
注 册:2007-2-20
收藏
得分:0 

#include<stdio.h>
main()
{ int a,i;
char b;
printf("1:letter into Ascii number.\n");
printf("2:Ascii number into letter.\n");
scanf("%d%c",&i,&b);
if(i==1)
{
printf("please input your letter:\n");
scanf("%c",&b);
printf("letter:%c ",b);
printf("Ascii:%d",b);
}
else
{
printf("input you Ascii number:\n");
scanf("%d",&a);
printf("Ascii:%d ",a);
printf("letter:%c",a);
}


}


2007-03-18 22:16
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
......

羊肉串 葡萄干 哈密瓜!!
2007-03-18 22:19
无玩过界
Rank: 1
等 级:新手上路
威 望:2
帖 子:246
专家分:0
注 册:2007-2-20
收藏
得分:0 
只要输入不要那么离普,我给你看的程序还可以接受

2007-03-18 22:24
喝酸奶的鱼
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-3-8
收藏
得分:0 

谢谢俄


学习很重要
2007-03-18 22:31
喝酸奶的鱼
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-3-8
收藏
得分:0 
以下是引用mp3aaa在2007-3-18 22:11:47的发言:
你只需要加一个清空键盘缓冲区的函数就行
fflush(stdin);

谢谢,能简单介绍下这个函数吗?


学习很重要
2007-03-18 22:35
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 

雁无留踪之意,水无取影之心
2007-03-18 22:45
高达
Rank: 1
等 级:新手上路
威 望:1
帖 子:261
专家分:0
注 册:2006-10-27
收藏
得分:0 
函数名: fflush
功 能: 清除一个流
用 法: int fflush(FILE *stream);
程序例:
#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <io.h>
void flush(FILE *stream);
int main(void)
{
FILE *stream;
char msg[] = "This is a test";
/* create a file */
stream = fopen("DUMMY.FIL", "w");
/* write some data to the file */
fwrite(msg, strlen(msg), 1, stream);
clrscr();
printf("Press any key to flush\
DUMMY.FIL:");
getch();
/* flush the data to DUMMY.FIL without\
closing it */
flush(stream);
printf("\nFile was flushed, Press any key\
to quit:");
getch();
return 0;
}
void flush(FILE *stream)
{
int duphandle;
/* flush the stream's internal buffer */
fflush(stream);
/* make a duplicate file handle */
duphandle = dup(fileno(stream));
/* close the duplicate handle to flush\
the DOS buffer */
close(duphandle);
}
转来的...

哎 时间....................
2007-03-18 22:56
高达
Rank: 1
等 级:新手上路
威 望:1
帖 子:261
专家分:0
注 册:2006-10-27
收藏
得分:0 

#include<stdio.h>
main()
{ int a,i;
char b;
printf("1:letter into Ascii number.\n");
printf("2:Ascii number into letter.\n");
scanf("%d",&i);
getchar(); //利用getchar()把回车"吃掉"在某贴看到的 呵呵
if(i==1)
{
printf("please input your letter:\n");
scanf("%c",&b);
a=b;
printf("letter:%c ",b);
printf("Ascii:%d",a);
}
else
{
printf("input you Ascii number:\n");
scanf("%d",&a);
b=a;
printf("Ascii:%d ",a);
printf("letter:%c",b);
}

getch();
}


哎 时间....................
2007-03-18 23:02
快速回复:[求助]帮忙找找哪里错了!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034828 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved