Pac*_*ier 12 java language-agnostic
这取自实用程序员的练习19.
快速检查现实.哪些"不可能"的事情会发生?:
一个月少于28天
stat(".",&sb)== -1(即无法访问当前目录)
在C++中: a = 2; b = 3; if (a + b != 5) exit(1);
内角为≠180°的三角形
一分钟没有60秒
在Java中: (a + 1) <= a
我有一些答案,但我不认为我的答案是"正确的"(从某种意义上说,这是作家在撰写问题时所考虑的答案).
这是我的尝试:
1)1752年9月
2)- 我想我们可以跳过这个,不理解这个问题 -
3)我不了解C++,但它是否与线程和volatile变量(如Java)有关?
4)不可能..
5)由于闰秒的出现
6)
double a = 100000000000000001d;
我想知道有没有人知道这些问题的正确答案?
Jor*_*ans 13
3:如果a和b属于类类型,则重载的运算符+可以执行任何操作(或重载赋值运算符,或运算符!=,或者甚至是隐式转换运算符).
4:曲面上的三角形不具有180°的内角.
6:溢出.
问题的关键在于恕我直言,以证明很多"不可能"的事情确实发生了,并且当你在编程时非常具有防御性,你可能不仅仅是偏执狂.
2可以很容易地发生.例如,如果您在进入目录时删除目录,然后执行某些操作.许多程序实际上处理这个.
noufal@sanitarium% ls
noufal@sanitarium% cd
noufal@sanitarium% mkdir /tmp/foo
noufal@sanitarium% cd /tmp/foo
noufal@sanitarium% touch x
noufal@sanitarium% ls
x
noufal@sanitarium% rm -Rf /tmp/foo
noufal@sanitarium% ls
noufal@sanitarium% touch x
touch: cannot touch `x': No such file or directory
Run Code Online (Sandbox Code Playgroud)