| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 814 人关注过本帖
标题:来看看第10行单个一getchar()是什么意思
只看楼主 加入收藏
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
结帖率:100%
收藏
 问题点数:0 回复次数:7 
来看看第10行单个一getchar()是什么意思
程序代码:
#include<stdio.h>
#include<string.h>
int main()
{
    char c;
    int flag = 1;
    while (flag == 1)
    {
        printf("continue or not(Y/N)?\n");
        getchar();
        c = getchar();
        if (c == 'N' || c == 'n')
            flag = 0;
    }
    if(flag==0)
        printf("%c\n", c);
    return 0;
}

对就是c=上面的那个,某书上看到的,不懂什么意思
2017-01-06 18:37
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
getchar,读入一个字符。让程序运行到那个位置的时候暂停。

但是这个程序真的没问题吗?第一个getchar,输入一个字符,然后按下回车,第二个getchar应该会读取这个回车,并将它赋给c。

[此贴子已经被作者于2017-1-6 18:57编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-06 18:52
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
这个程序会一直为真,要想它判断为假,需要输入两个n才行。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-06 18:56
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
回复 2楼 renkejun1942
会了
2017-01-06 18:57
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
回复 3楼 renkejun1942
谢谢
2017-01-06 18:57
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
回复 2楼 renkejun1942
他在输入的时候,先打了个空格
2017-01-06 18:59
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 6楼 see235959850
但是正常人的逻辑,看到那个提示的时候,谁会先按一下空格或别的什么空字符。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-06 19:02
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
#include<stdio.h>
#include<string.h>
int main()
{
    char c;
    int flag = 1;
    while (flag == 1)
    {
        printf("continue or not(Y/N)?\n");

        c = getchar();
        getchar();//这个程序这样写会更好,把getchar()放在后面,用来读取那个回车。
        if (c == 'N' || c == 'n')
            flag = 0;
    }
    if(flag==0)
        printf("%c\n", c);
    return 0;
}

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-06 19:08
快速回复:来看看第10行单个一getchar()是什么意思
数据加载中...
 
   



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

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