C > !val と val != 0の違い?
4077 ワード
組込みで使うライブラリのバージョンアップにおいて、下記のような修正がいくつか見られる。
previous.c
if (nb) {
...
while (!nb) {
...
current.c
if (nb != 0) {
...
while (nb == 0) {
...
読みやすさだけの変更なのか、そのバージョンアップ履歴に記載されているバグ修正と関係があるのかは不明。
#include <stdio.h>
int main(void) {
int val;
val = 0;
if (!val) printf("!val\n");
if (val != 0) printf("val != 0\n");
val = 1;
if (!val) printf("!val\n");
if (val != 0) printf("val != 0\n");
val = 5;
if (!val) printf("!val\n");
if (val != 0) printf("val != 0\n");
return 0;
}
run
!val
val != 0
val != 0
Author And Source
この問題について(C > !val と val != 0の違い?), 我々は、より多くの情報をここで見つけました https://qiita.com/7of9/items/2db69796251292f9173b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .