【发布时间】:2012-05-09 03:13:51
【问题描述】:
你好,
我想知道这些作业中哪一项更快、更安全、更好等,可能是为什么:
int choice = fgetc(stdin);
unsigned int bSize;
choice = fgetc(stdin)
1:
bSize = (choice == 'y' || choice == 'Y') ? 256 : 128;
2:
bSize = 128 + ((choice == 'y' || choice == 'Y') << 7);
谢谢。
【问题讨论】:
-
从文件中读取字符将超过执行任一行所需的时间。
-
当然 1 更具可读性。在这种情况下编译器生成的任何东西都不太可能对性能产生明显影响。
-
@DCoder: +1 - 在这种情况下,可读性比假设的(和过早的)微优化更重要
标签: c conditional variable-assignment