| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1210 人关注过本帖
标题:为什么不能输入多个空格?
只看楼主 加入收藏
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
结帖率:97.78%
收藏
 问题点数:0 回复次数:3 
为什么不能输入多个空格?
我今天在论坛里帮一个人做了一个程序,具体的话我就不说了
你们看看程序啊,就是说我输入一些数字,我输入十个,他就记录十个数字,我输入二十个,它就记录二十个
反正就是说我输入的字符,它可以将其转化为整型..
然后就是有一个问题,我不能连续输入几个空格..为什么?
如:我输入1 2 3它可以接受,但是我输入1    2 3,它就报错..
程序如下:
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <math.h>
/*判断错误函数*/
void puterror(int i){
  int a;
  for(a=1;a<=i;a++)
    printf(" ");
  printf("^\n");
}
/*主函数*/
int main(){
  char num[100],i,a;
  int n[50]={0};
  gets(num);
  i=0;
  a=0;
  while(num[i]!='\0'){
    if(isdigit(num[i]))
      n[a]=n[a]*10+(num[i]-48);
    else if(isspace(num[i]))
      if(n[a])
        a++;
    else{
      puterror(i);
      printf("Error : This is not number.\n");
      getch();
      return 1;
    }
    i++;
  }
  for(i=0;i<=a;i++)
    printf("%d ",n[i]);
  getch();
  return 0;
}
搜索更多相关主题的帖子: 空格 输入 
2008-11-24 17:40
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1692
专家分:4282
注 册:2007-12-27
收藏
得分:0 
最后一个else配对错误,它跟它前面最近那个if配对了,这显然不是你的本意。
把{if(n[a])
        a++;}
这样整个括起来,
应该好一点

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-11-24 18:09
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
非常感谢!!!

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-11-24 18:18
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
真是高手!!
加我QQ:
328400264

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-11-24 18:18
快速回复:为什么不能输入多个空格?
数据加载中...
 
   



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

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