回答了问题2017-09-23
因为你把default handler替换了
赞了回答2017-09-10
研究++i和i++的执行效率,我也是醉了。你家代码的性能问题出在你用了++i,而不是用i++?谁告诉你执行效率会有差异?多少年前的教材了?谁告诉你反汇编能用来分析这种场景的性能问题了?
回答了问题2017-08-26
你的optstring是"n:a",表示a没有相关参数。所以address = optarg = NULL。
回答了问题2017-07-31
这就是为什么计算机专业书籍要看英文原版英文写的是 Returns: new nice value − NZERO if OK, −1 on error 意思是nice函数执行无错误会返回新的nice值减去NZERO
回答了问题2017-07-14
Emacs/Vim folding symbols
回答了问题2017-06-03
Google is your friend 看这里
赞了回答2017-02-22
首先, C 里没有字符串这种类型, C 中的字符串是以空字符结尾的字符数组.然后, 这个 p 指针保存的不是这个字符串, 而是这个字符数组的首元素的地址.所以就可以用间接运算符 * 读出这个地址里面的值, 也就是这个字符数组的第一个元素.
回答了问题2017-02-11
a = 1, b = 10/7, logba = 0f(n) = n1 where 1 > logba = 0 7n/10 <= kn, k = 7/10所以用master theorem case 3,T(n) = Θ(n)
回答了问题2017-02-10
$$a = 2, b = 2, f(n) = nlogn$$$$因为 f(n) ∈ Θ(nlogn), k=1 可以用 case 2$$$$所以 T(n) = Θ(nlog^2n)$$
关注了问题2017-02-10
回答了问题2017-02-08
在循环中,从msb 到 lsb, 对每一个bit 做测试。(1<<j)构建bitmask。a[i]&(1<<j)测试对应bit 是否有被设置为1。
回答了问题2017-02-05
简单说编译器找不到main function,所以报错。
关注了问题2017-02-05
回答了问题2017-02-02
循环中b[i]一定不变,因为每次循环你都会初始化PRNG。srand(time(0));应该放在循环外。
关注了问题2017-02-02
回答了问题2017-02-01
第24行会先执行fork() < 0再对pid赋值。所以fork之后,父/子进程的pid都是0并执行27-28行。所以父/子进程的变量都改变。
关注了问题2017-02-01
回答了问题2017-01-17
你的机器没有sar这个用户。所以程序会执行err_sys("getpwnam error");。然后err_sys最后会执行exit(1)退出。
关注了问题2017-01-17
回答了问题2016-12-23
产生未定义行为是因为赋值符号左右都使用beg。编译器不知道先执行左侧的值还是右侧的值。