作者查詢 / yvb
作者 yvb 在 PTT [ C_and_CPP ] 看板的留言(推文), 共832則
限定看板:C_and_CPP
看板排序:
2F推: 其實只要在30行加一條件, 那麼 19行~26行 就可以直接拿掉.10/19 13:09
3F→: 更正: 應該是30行改用sequence做為條件即可, 不是加條件.10/19 13:11
7F→: 原PO 及 我在2-3樓所提的行數, 是對應到原來的 Code貼圖,10/20 22:34
8F→: ( https://imgur.com/PSPSG7U ), 和現在 ideone 的有點誤差;10/20 22:34
9F→: 19行~26行 => 20行~27行, 30行 => 31行. 若按照上面所提方式10/20 22:34
10F→: 去修改, 你的程式邏輯就和後面 andy39866821 所貼程式一樣了.10/20 22:34
7F推: 不同意 3F. wiki Three-way_comparison => arithmetic IF10/02 20:44
8F→: 同意 4F 編譯器可以. 試過 gcc -O2 會得到原PO期望的組語樣態10/02 20:48
51F推: 若可用 ?: 及 abs() 就更方便 ==> https://ideone.com/lcRBcG08/28 21:58
1F→: MSG_count=30 時, scanf("%s", ...); 字串結束字元放到...?!08/13 20:10
5F→: 你要的是 scanf("%s"...? scanf("%c"...? getchar()? 還是?08/13 21:38
9F→: 用 scanf("%s"... 是讀入字串, 且用空白字元分段(略過),08/13 22:19
10F→: 而不是逐字讀取; 至於如何排除結束字元? 不要印它不行嗎?08/13 22:20
11F→: 意思就是檢查若是結束字元(其實是enter吧?) 就不加MSG_count.08/13 22:22
13F→: 這樣 WriteString() 就不會多印出enter符號了.08/13 22:25
4F→: 有時覺得系列惡搞文比伸手文更糟糕...07/16 22:00
16F推: 就如4F的說法, 原Po程式應該有tail recursion,07/14 20:26
17F→: 照理說開最佳化後, 可能讓 stack 不成長, 但實測仍會爆掉;07/14 20:29
18F→: 但若把SNum變為全域變數,即doPerm()外宣告string SNum;07/14 20:34
19F→: 在doPerm()中改為sNum = "";則-O2後執行就不會爆掉;07/14 20:36
20F→: 即使改寫為C, string sNum改為char sNum[20]等等, 情況相同;07/14 20:38
21F→: 另解,把有關sNum算出iNum部分另拉函數,讓doPerm()沒sNum亦可.07/14 20:47
22F→: (使用的編譯器:g++/gcc 4.6.3)07/14 20:49
23F→: 也許我用的編譯器無法正常處理tail recursion?07/14 20:51
6F→: 其實 man ulimit 看 SEE ALSO 那邊就有 setrlimit(2) .07/04 19:33
7F→: 另外, 讀不影響記憶體的值, 寫會影響, 所以你怎知 cout<<07/04 19:34
8F→: 或 printf() 之類是否也用到那部分記憶體, 因而爛掉呢...07/04 19:35
9F→: 又, man setrlimit 的 SEE ALSO => core(5) => man 5 core07/04 19:38
2F→: (1) int* ptr = new int[65536]; 之類, new 較大空間看看.07/04 13:47
11F→: 你可以用 strace 去觀察看看.mmap來的,free/delete時就還了.07/04 19:32
20F→: 請用 http://rextester.com/l/c_online_compiler_gcc06/29 18:53
21F→: 勾選 Show compiler warnings 看看.06/29 18:54
22F推: typedef typeof(my_func) *my_func_t;06/27 22:58
23F→: 改為 *my_func_ptr_t;06/27 23:01
24F→: 其中my_func可在typedef前宣告,但不需實際存在該函式;06/28 00:27
25F→: 比方寫 void my_func(int); 即可.06/28 00:29
26F→: 此外, 用typeof()甚至可寫成 typeof(void(int)) 之類, 如06/28 00:34
27F→: typedef typeof(void(int)) *my_func_ptr_t;06/28 00:35
28F→: typedef typeof(void(*)(int)) my_func_ptr_t;06/28 00:35
29F→: 均可.06/28 00:35
30F→: 只不過 typeof() 非標準, 以上寫法只在 gcc 下試過.06/28 00:42