标题:小白菜求解。求大神指导!
只看楼主
keyiz
Rank: 2
等 级:论坛游民
帖 子:13
专家分:13
注 册:2015-6-24
结帖率:100%
已结贴  问题点数:20 回复次数:9 
小白菜求解。求大神指导!
hi  大神。
  事件是这样的  我在看C语言 程序设计  自学C      到现在这章突然出现一个函数 以前都没介绍过的。
     就是这个 getchar()  不明其意,  百度了  也不怎么明白,   出现的地方我打出来吧
#include<stdio.h>
void main()
{    char c;
    while((c=getchar())!=‘\n')
    {    if((c>='a' && c<='z')||(c>='A' && c<='Z'))
        {    c=c+4;
             if(c>'Z' && c<='Z'+4 || c>'z') c=c-26;
           }
        printf("%c",c);
        }
    printf("\n");
}
 我个人这么理解的 getchar 就是读取键盘输入的字母然后转换成ASCII码输出。然后这里的(c=getchar)  就是输入的字母的ASCII的值赋给c?
   他这样岂不是取代了scanf ?
搜索更多相关主题的帖子: include 程序设计 百度 小白菜 C语言 
2015-06-26 02:01
keyiz
Rank: 2
等 级:论坛游民
帖 子:13
专家分:13
注 册:2015-6-24
得分:0 
对了刚刚百度还说 getchar 是conio.h库里面的 书上的头文件都没这个没问题吗?
2015-06-26 02:02
keyiz
Rank: 2
等 级:论坛游民
帖 子:13
专家分:13
注 册:2015-6-24
得分:0 
在线等!!!
2015-06-26 02:06
keyiz
Rank: 2
等 级:论坛游民
帖 子:13
专家分:13
注 册:2015-6-24
得分:0 
查了 半天终于明白了。
  while((c=getchar())!=‘\n')   
   从终端接收字母   比如keyiz   但是他接收连回车\n 也会一起接收   然后一个字母一个字母的循环处理  直到到 \n
    这事的’\n‘!='\n'  为假  结束循环。。  应该是这样的吧 大婶们都睡了吗?
           
2015-06-26 03:43
明光
Rank: 1
来 自:江西
等 级:新手上路
帖 子:13
专家分:2
注 册:2015-6-25
得分:2 
我也是新手,问一下。。。这个程序没有scanf函数的吗?c应该还没有值吧?
2015-06-26 08:02
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:8 
就是这个 getchar()  不明其意,  百度了  也不怎么明白
对了刚刚百度还说 getchar 是conio.h库里面的 书上的头文件都没这个没问题吗?
------- 看看C标准怎么说:
The getchar function
Synopsis
    #include <stdio.h>
    int getchar(void);
Description
    The getchar function is equivalent to getc with the argument stdin.
Returns
    The getchar function returns the next character from the input stream pointed to by stdin.
    If the stream is at end-of-file, the end-of-file indicator for the stream is set and getchar returns EOF.
    If a read error occurs, the error indicator for the stream is set and getchar returns EOF.

再给你一个非官方的链接:http://en.
2015-06-26 08:45
lhfwl
Rank: 2
等 级:论坛游民
帖 子:4
专家分:12
注 册:2015-6-25
得分:5 
getchar()是接收键盘终端的一个字符,而scanf()可以接收符合条件的多个终端字符。
2015-06-26 09:03
蠢蠢的大菜鸟
Rank: 2
等 级:论坛游民
帖 子:2
专家分:10
注 册:2015-6-25
得分:5 
回复 5楼 明光
c=getchar()不就是赋值嘛
2015-06-26 13:04
keyiz
Rank: 2
等 级:论坛游民
帖 子:13
专家分:13
注 册:2015-6-24
得分:0 
回复 6楼 rjsp
谢谢 亲的回复~!
2015-06-27 00:14
keyiz
Rank: 2
等 级:论坛游民
帖 子:13
专家分:13
注 册:2015-6-24
得分:0 
回复 7楼 lhfwl
谢谢  亲的帮助~!
2015-06-27 00:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-454730-1-1.html




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

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