| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 966 人关注过本帖
标题:这个程序在输入事件是为什么中间不能加空格?
只看楼主 加入收藏
池超超
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2009-11-6
结帖率:40%
收藏
已结贴  问题点数:10 回复次数:8 
这个程序在输入事件是为什么中间不能加空格?
#include <stdio.h>
main ()
{   char a,b,c;
    printf ("=======日程安排预报软件=======\n");
    printf ("事件:\n");
    scanf ("%s",&a);
    printf ("时间:\n");
    scanf ("%s",&b);
    printf ("地点:\n");
    scanf ("%s",&c);
    printf ("=======谢谢你的使用?=========\n");

    getchar ();
}
搜索更多相关主题的帖子: 输入 空格 
2009-11-08 20:27
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
同样通过将字符abc改为字符串来解决。
2009-11-08 20:30
xy4919961
Rank: 5Rank: 5
等 级:职业侠客
帖 子:199
专家分:362
注 册:2009-10-24
收藏
得分:2 
scanf("%s") %s 遇到空格或回车就认为是一个字符串的结束。

QQ群:96348241
2009-11-08 20:36
小J
Rank: 8Rank: 8
等 级:等待验证会员
威 望:1
帖 子:282
专家分:704
注 册:2009-6-18
收藏
得分:2 
将scanf()换成gets()
2009-11-08 21:44
雪花神剑
Rank: 2
来 自:吉林
等 级:论坛游民
帖 子:579
专家分:47
注 册:2009-3-12
收藏
得分:0 
回复 4楼 小J
顶..........................................
2009-11-08 21:45
池超超
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2009-11-6
收藏
得分:0 
/*  HELLO.C -- Hello, world */

#include "stdio.h"
#include "conio.h"

main()
{
    char a[100];
    char b[100];
    char c[100];
    printf("=========日程提示软件==========\n");
    printf("时间:");
    gets("%s",&a);
    printf("事件:");
    gets("%s",&b);
    printf("地点:");
    gets("%s",&c);
    printf("============谢谢使用!==========\n");

    getch();
}这样改还不行
2009-11-10 19:57
万改称才
Rank: 3Rank: 3
来 自:温州
等 级:论坛游侠
帖 子:58
专家分:113
注 册:2009-11-10
收藏
得分:4 
改错了  应该这样的

#include "stdio.h"
#include "conio.h"

main()
{
    char a[100];
    char b[100];
    char c[100];
    printf("=========日程提示软件==========\n");
    printf("时间:");
    gets(a);
    printf("事件:");
    gets(b);
    printf("地点:");
    gets(c);
    printf("============谢谢使用!==========\n");

    getch();
}

[ 本帖最后由 万改称才 于 2009-11-10 20:03 编辑 ]

老师说 : 好好读书
2009-11-10 20:01
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
收藏
得分:2 
程序代码:
The gets function reads a line from the standard input stream stdin and stores it in buffer.
The line consists of all characters up to and including the first newline character ('\n').
gets then replaces the newline character with a null character ('\0') before returning the line.
In contrast, the fgets function retains the newline character.
gets这个函数是从stdin中读取一行到buffer中。这行包含开始的\n到最后的\n。
然后将最后\n换成null符号。相反的 fgets包含了最后\n
所以gets读取以换行符结束。

The scanf function reads data from the standard input stream stdin and writes the data
into the location given by argument.
scanf函数从stdin中读数据到给定的地址。



要练习算法就来http:///!!有挑战哦!!
2009-11-10 20:15
iaamjerry
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-11-3
收藏
得分:0 
7楼正解!
2009-11-10 20:49
快速回复:这个程序在输入事件是为什么中间不能加空格?
数据加载中...
 
   



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

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