while(~scanf("%d", &n)) 意思就是當有值輸入的時候,進入while,當沒有值輸入時就結束while。(輸入了值,如果scanf成功讀取了就返回1,取反的結果不為0,進入while;如果scanf沒有成功讀取,返回0,取反的結果不為0,進入while;如果沒有輸入,到達檔案末尾則返回-1,取反的結果為0,結束while。)
順便,1取反-2,-1取反0,0取反-1
while(~scanf("%d", &n)) 意思就是當有值輸入的時候,進入while,當沒有值輸入時就結束while。(輸入了值,如果scanf成功讀取了就返回1,取反的結果不為0,進入while;如果scanf沒有成功讀取,返回0,取反的結果不為0,進入while;如果沒有輸入,到達檔案末尾則返回-1,取反的結果為0,結束while。)
順便,1取反-2,-1取反0,0取反-1