| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2282 人关注过本帖
标题:返回首个非空白字符的函数???
只看楼主 加入收藏
aaaisan
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-3-24
收藏
 问题点数:0 回复次数:16 
返回首个非空白字符的函数???
下面是我自己写的,可是不对,请问应该怎么写啊?谢谢!
程序代码:
#include <stdio.h>
#include <stype.h>
int main (void)
{
  char ch;
  
  ch = get_first();
  putchar(ch);
  putchar('\n')
  return 0;
}
char get_first (void)
{
  int ch;
  char c;
  
  c = getchar();
  if(!isspace(c))
    ch = c;
  while (getchar() != '\n')
    continue;
  return ch;
}
搜索更多相关主题的帖子: 函数 空白 字符 
2008-04-29 11:22
aaaisan
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-3-24
收藏
得分:0 
原题是把下面的函数改为返回首个非空白字符
程序代码:
char get_first (void)
{
  int ch;
  
  ch = getchar();
  while (getchar() != '\n')
    continue;
  return ch;
}
2008-04-29 11:26
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
收藏
得分:0 
#include <stdio.h>
int main(void)
{
    char c;
    while ((c=getchar())!='\n')
    {
        if (c != '')
        {
            putchar(c);
        }
    }
    return 0;
}

没调,不知道行不.

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-04-29 11:28
aaaisan
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-3-24
收藏
得分:0 
大概是我说的不清楚吧
要求是修改get_first()函数,使其返回输入的首个非空白字符,就是说如果我输入了一个空格然后接着输入abc,那么只返回a这个字母给调用函数!
2008-04-29 11:34
aaaisan
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-3-24
收藏
得分:0 
main函数只是我自己写的一个测试函数
2008-04-29 11:35
aaaisan
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-3-24
收藏
得分:0 
顶一下,大家帮帮忙,谢谢!
2008-04-29 11:56
sxn0508
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2008-1-24
收藏
得分:0 
试试看,合你的要求吗?
程序代码:
#include <stdio.h>
#include <ctype.h>

char get_first (void);

int main (void)
{
        char ch;  
        ch = get_first();
        putchar(ch);
        putchar('\n');
        getchar(); 
        return 0;
}

char get_first (void)
{
        char c;
        while(isspace(c = getchar()));
        while (getchar() != '\n')
                continue;
        return c;
}
2008-04-29 12:18
hellbelial
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2008-4-29
收藏
得分:0 
代码如下:
#include <stdio.h>

char get_first(void);

int main (void)
{
  char ch;
  
  ch = get_first();
  putchar(ch);
  putchar('\n');
  return 0;
}

char get_first (void)
{
  int ch;
  
  ch = getchar();
  while(ch != '\n')
  {
      if(ch != ' ')break;
      ch = getchar();
  }
  while (getchar() != '\n')
    continue;
  return ch;
}


附上运行结果:

aa.gif (55.17 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
2008-04-29 12:46
aaaisan
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-3-24
收藏
得分:0 
谢谢7楼的!但是能不能帮解释一下为什么下面这段代码就不行呢?
程序代码:
#include <stdio.h>
#include <ctype.h>
char get_first (void);
int main (void)
{
  char ch;
  
  ch = get_first();
  putchar(ch);
  putchar('\n')
  return 0;
}
char get_first (void)
{
  int ch;
  char c;
  
  c = getchar();
  if(!isspace(c))
    ch = c;
  while (getchar() != '\n')
    continue;
  return ch;
}


[[it] 本帖最后由 aaaisan 于 2008-4-29 12:51 编辑 [/it]]
2008-04-29 12:48
aaaisan
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-3-24
收藏
得分:0 
8楼的貌似如果首先输入的是不是空格而是制表符或回车之类的其它空白字符就有问题!

[[it] 本帖最后由 aaaisan 于 2008-4-29 12:54 编辑 [/it]]
2008-04-29 12:52
快速回复:返回首个非空白字符的函数???
数据加载中...
 
   



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

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