软件工程师丈夫买鸡蛋
程序员丈夫买鸡蛋
原文来自:
http://chenlq.net/programmer-husband-to-sell-the-eggs.html
今天听到一个关于程序员买鸡蛋的笑话:
妻子让做程序员的丈夫去超市买两个面包,并说:“如果有鸡蛋的话,就买六个”。
结果不一会,丈夫带着六个面包回来了。妻子奇怪地问:“你怎么买了六个?”,丈夫回答说:“你不是让我有鸡蛋的话就买六个吗?我看超市里有鸡蛋,所以就买了六个”
大家一看就知道,这个笑话来自于丈夫和妻子对“如果有鸡蛋的话,就买六个”的误解。妻子的理解是先买两个面包,如果有鸡蛋,就再买六个鸡蛋。用程序表达就是:
buybread(2); // 先买两个面包
if(haseggs()) // 如果有鸡蛋
{
buyegg(6); // 再买6个鸡蛋
}
而丈夫则是理解为“如果有鸡蛋,买六个面包,如果没有鸡蛋,则卖两个面包”,用程序表达应该是:
if(haseggs()) //如果有鸡蛋
{
buybread(6); // 买6个面包
}
else // 如果没有鸡蛋
{
buybread(2); // 买2个面包
}
从代码我们可以清楚地看到,妻子理解的是一个顺序过程,而丈夫理解的却成饿了一个选择过程。
我想,要是他们两个都是程序员,就可以直接用代码来交流了,也就不会产生这样的误解了。所以,程序员找老婆最好也找一个程序员,这样比较有共同语言,不至于产生误解。
更多精彩C++文章,http://chenlq.net
------解决方案--------------------
顶一下
原文来自:
http://chenlq.net/programmer-husband-to-sell-the-eggs.html
今天听到一个关于程序员买鸡蛋的笑话:
妻子让做程序员的丈夫去超市买两个面包,并说:“如果有鸡蛋的话,就买六个”。
结果不一会,丈夫带着六个面包回来了。妻子奇怪地问:“你怎么买了六个?”,丈夫回答说:“你不是让我有鸡蛋的话就买六个吗?我看超市里有鸡蛋,所以就买了六个”
大家一看就知道,这个笑话来自于丈夫和妻子对“如果有鸡蛋的话,就买六个”的误解。妻子的理解是先买两个面包,如果有鸡蛋,就再买六个鸡蛋。用程序表达就是:
buybread(2); // 先买两个面包
if(haseggs()) // 如果有鸡蛋
{
buyegg(6); // 再买6个鸡蛋
}
而丈夫则是理解为“如果有鸡蛋,买六个面包,如果没有鸡蛋,则卖两个面包”,用程序表达应该是:
if(haseggs()) //如果有鸡蛋
{
buybread(6); // 买6个面包
}
else // 如果没有鸡蛋
{
buybread(2); // 买2个面包
}
从代码我们可以清楚地看到,妻子理解的是一个顺序过程,而丈夫理解的却成饿了一个选择过程。
我想,要是他们两个都是程序员,就可以直接用代码来交流了,也就不会产生这样的误解了。所以,程序员找老婆最好也找一个程序员,这样比较有共同语言,不至于产生误解。
更多精彩C++文章,http://chenlq.net
------解决方案--------------------
顶一下