zoukankan      html  css  js  c++  java
  • 算法竞赛入门经典第二版 TeX中的引号 P47

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        int c,q=1;
        while( (c = getchar()) !=EOF)   //getchar是读入 单个字符
    {
    if(c =='"'){ printf("%s",q ? " . ":""); q=!q; } else printf("%c",c); } return 0; } // 输入 "aSAs","aSzAs" 输出 .aSAs。,.aSzAs。 本题的特点是不需要把字符串完整的存下来,因从getchar是个不错的选择 //getchar 是 读入函数的一种。它从标准输入里读取下一个字符,相当于getc(stdin)。 //返回类型为int型,为用户输入的ASCII码或EOF。 // a?b:c 的含义 当a为真的时候值为b,否则为c //直接用到了赋值语句c=getchar()的返回值,把它和EOP比较。这样的写法并不常见,但有时能让代码更加简洁

    scanf("%s", )输入字符串,碰到空格或者TAB就会停下来,虽然下次调用的时候会输入下一个字符串,可是不知道两次输入的字符串中间有多少个空格、TAB甚至换行符。所以,在处理此题的时候,可以用以下两种方法。

    第一种是使用fgetc(fin),它读取一个打开的文件fin,读取一个字符,然后返回一个inyt值,为什么不返回char?因为如果文件结束,fgetc将返回一个特定标记EOF,他并不是一个char。如果把fgetc(fin)的返回值强制转换为char,将无法把特殊的EOF和普通字符区分开。如果要从标准输入读取一个字符,可以用getchar,它等价于fgetc(stdin)

    使用fgetc(fin)可以从打开的文件fin中读取一个字符,一般情况下应到在检查它不是EOF后再将其转换成char值。

  • 相关阅读:
    2019 学霸君java面试笔试题 (含面试题解析)
    2019 大众书网Java面试笔试题 (含面试题解析)
    2019 中细软java面试笔试题 (含面试题解析)
    2019 企叮咚java面试笔试题 (含面试题解析)
    js 去掉数组对象中的重复对象
    canvas霓虹雨
    nvm的安装
    socket.io 中文文档
    Nginx(三)------nginx 反向代理
    github入门到上传本地项目
  • 原文地址:https://www.cnblogs.com/QingyuYYYYY/p/11718821.html
Copyright © 2011-2022 走看看