鱼C论坛

 找回密码
 立即注册
查看: 3560|回复: 2

scanf与 gerchar不都是 输入函数麽?

 关闭 [复制链接]
发表于 2011-8-13 17:24:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 第7感熏染, 于 2011-8-13 20:29 编辑

题目是 :输入一个字符,判别它是否大写字母,如果是,将它转化成小写字母;如果不是,不转换。然后输入最后得到的字符。
#include <stdio.h>
void main()
{
    char ch;
scanf ("%c",&ch);
ch=(ch>='A'&& ch<='Z')?(ch+32):ch;
     printf ("%c\n",ch);

}

我把 scanf 换做成 getchar 打出来的结果是 一个? ; 这是为什么呢

scanf与 gerchar不都是 输入函数麽?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-13 19:42:29 | 显示全部楼层
scanf是按格式输入,getchar一次只能输入一个,cin.get一般不用
例如:scanf("%d/%d/%d",&month,&day,&year);就可以按6/5/2010输入
还有一个getch是不用键盘缓冲区,直接获取字符。
例如:char chA=getch();在命令行中,光标回等待你的输入,你只有在键盘上敲入任意一个字符,程序会立即把字符赋给chA,而不是等待你的回车。
下面为摘抄:
一般情况下,cin自动跳过输入的空格,如果你要把键盘上输入的每个字符 包括空格和回车键都作为一个输入字符给字符型变量时,必须使用函数cin.get()。
格式为 cin.get(字符型变量)
该语句一次只能从输入行中提取一个字符。

百度知道上的 直接贴过来了 说的很详细
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-13 20:26:20 | 显示全部楼层
  小甲鱼 帮我改了下是:
#include <stdio.h>

int main()
{
    char ch;
    ch = getchar();
       
    ch=(ch>='A'&& ch<='Z')?(ch+32):ch;
        printf ("%c\n",ch);
       
        return 0;
}
多了一个 ch = getchar(); 与 return 0;

peturn 0;  意思是:因为用的是int main ,则需要返回一个整型值.
   这个返回值 一般有是在有是  int main  里面有 getchar 后面需要  返回一个整型值,
  void main也可以,只是现在不规范了.
main函数默认return 0;表示函数调用成功

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 02:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表