搜索
查看: 3454|回复: 15
打印 上一主题 下一主题

解析一下为何输入how are you 系统只会显示how

[复制链接]
楼主
发表于 2013-1-27 12:04:44 | 显示全部楼层
#include <stdio.h>
int main()
{
       
    char str[30];
    scanf("%[^\n]",&str);
   
    printf("%s\n",str);
        sleep(5000);
        return 0;
}

评分

参与人数 1啊哈币 +5 收起 理由
李掌柜 + 5 赞一个!

查看全部评分

沙发
发表于 2013-4-23 11:32:39 | 显示全部楼层
saidline 发表于 2013-4-22 00:33
求教%[^\n]是什么意思啊??

使用%s的scanf()函数只会读取一个单词,遇到空格,制表符,换行符处停止读取。
^是取反的意思,\n为换行符。%[^\n]就是读取除换行符以外的所有字符串。
这样
how are you 中的空格及空格后面的字符串就能全部读取。

一般在这种情况下,用gets()函数读取字符串比较好。
如:gets(str);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表