洛谷 P1597 語句解析

沒有什麼難的 主要是幾個注意點

//P1597 語句解析
//2016.11.22

#include <cstdio>
using namespace std;

char c1, c2;
int s[3];   //關於初始化 在主程序外與在主程序內的區別 

int main(){

    while (scanf("%c:=%c;", &c1, &c2) == 2)   //關於scanf讀入時的返回值 
        s[c1 - 'a'] = c2 >= '0' && c2 <= '9' ? c2 - '0' : s[c2 - 'a'];   //關於三目運算符的優先級 

    for (int i = 0; i < 3; i++) printf("%d ", s[i]);

    return 0;
}

注:

關於scanf讀入時的返回值
scanf()函數有返回值且爲int型。
scanf()函數返回的值爲:正確按指定格式輸入變量的個數;也即能正確接收到值的變量個數。

scanf(“%d%d”, &a, &b);
如果a和b都被成功讀入,那麼scanf的返回值就是2
如果只有a被成功讀入,返回值爲1
如果a和b都未被成功讀入,返回值爲0
如果遇到錯誤或遇到end of file,返回值爲EOF。

關於三目運算符的優先級 什麼的
多看看就明白了

關於初始化 在主程序外與在主程序內的區別
似乎
在主程序外定義 有初始化的零
在主程序內的 沒有

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章