【C言語】
long定数の接尾子l(エル)は
紛らわしい


接尾子はl(エル)ではなくてLを使おう

#include <stdio.h>

int main(void){
    long x = 10l;
    long y = 201;
    printf("x = %ld\n",x);
    printf("y = %ld\n",y);
    long z = 30L;
    printf("z = %ld\n",z);
}

このプログラムは以下のように表示されます

./a.out
x = 10
y = 201
z = 30

x = 101(百壱)になりません。なぜでしょうか?


参考:

DCL16-C. long 値を表すには小文字の “l” ではなく大文字の “L” を使う