输入和输出的初步了解

当面对空白符(’ ’、’\n’、’\ t')时的不同

1、scanf(”%s”,s)在读入字符串时。在第一个空白符处停止且不都如空白符,在串尾自动添加‘\0‘。

如果你连续写两个scanf来读入两个字符串的时候,不会读入两个字符串之间的空格(无论有连续的多少个空格),而是读取两个空格之间的字符串.

    char a[10],b[10];
    scanf("%s",a);
    scanf("%s",b);

2、gets(s)

读入一行字符,直到遇到'\n',读入换行符并将其舍弃,在串尾自动添加'\0'.

一开始在看到这里的时候,我不能理解,读入换行符再将其舍弃有什么意义,我们可以将其与scanf比较,倘若都是用回车键来结束,在scanf读入完后,后一个字符是’\n',而gets则已将’\n'扔掉了,也就意味着经常需要getchar来将scanf后面的‘\n'吸收掉,防止影响后面的输入(倘若后面的也是scanf则不需要),而gets则完全不需要。

更为关键的是gets可以读入空格,而scanf则不行,所以当需要读入空格时,一般使用gets。

3、c=getchar(),scanf(”%c”,&c)

读入下一个字符,包括空白符。

%*c表示读入然后舍弃,一般用于将空白符吃掉。

4、printf()格式化输出

5、puts(s)

输出s串,并在最后自动添加’\n’。

文件的输入

当数据量大的时候且需要多次调试时,每次手工输入或者复制黏贴效率太低,考虑文件输入。

把输入数据放在同目录下一个文本文件in.txt中,每次程序执行时自动从文件中读取数据。

代码为freopen(”in.txt”,”r”,stdin);

EOF的简单理解

EOF就是-1:#define EOF -1

补码为1111 1111

while(scanf(”%d”,&n)!=EOF) {……}

while(~scanf(”%d”,&n)) {……}(~表示按位取反)

当scanf读不到内容的时候会返回-1,运用这段代码就可以知道读完了。

ctrl+z输入代表输入文件结束符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值