如何將下列代碼轉換爲單行?c中的單個語句中的指定和比較
int *i;
i = some_func_ret_int_ptr();
if(!i)
{
// do something
}
// Will use i later
我想要做像做
if((i=some_func_ret_int_ptr) && !i)
{
//do something
}
// Will use i later
但是我在這裏浪費了一個比較。我有更好的方法來做到這一點嗎? 所有我想要的是如果只比較我的作業和比較。
如果你剛剛學習C語言,那麼不要嘗試花哨/複雜的語法。你只會迷惑自己。並且讓任何不幸的人在之後需要處理你的代碼時更難以維護。 – 2014-10-08 21:35:51
我是長期的c用戶。在一個文件中15-20個地方做類似的事情,所以想要寫更好的文字 – 2014-10-08 21:39:02
爲清晰起見,而不是簡潔。無論如何,它會編譯到相同的二進制文件,所以讓其他人的生活更輕鬆。 – 2014-10-08 21:40:43