読者です 読者をやめる 読者になる 読者になる

C

C言語で整数値を小数点でキャスト

C言語で,整数値に小数点を付けると,double型になる. 動機 1 / 3 は int / int ,int型で演算されて 0 になるけれど, 1.0 / 3.0 は浮動小数点型の内,float型とdouble型のどちらになるのでしょうか? ソースコード #include <stdio.h> #include <math.h> int main() { prin</math.h></stdio.h>…

scanfでEOF

scanfはEOFを返却値で扱う. 引数にした変数には格納されない. 目的 2桁以上の数値を文字列として扱ってから整数に直したい. getchar()でのEOFは分かるので,無理矢理以下のようにできる. ソースコード #include <stdio.h> int main() { int ch, val = 0; while( (</stdio.h>…

isalpha() が言うところの数字

目的 <ctype.h> の関数 isalpha() が判定するアルファベットに演算子が含まれるのか気になったので調べてみた. つまり, [^0-9] をアルファベットとして扱っている [^a-zA-Z] を数字として扱っている のどちらかを確かめたく. ソースコード #include <stdio.h> #include <ctype.h> int</ctype.h></stdio.h></ctype.h>…

unsigned int とstdin

C

unsigned int でも stdin だと負数の操作を受け付けるらしい.意味ない. *最下部に追記: 出力で unsigned int を指定しなければならない. ソースコード #include <stdio.h> int main() { unsigned int S, E; scanf("%d%d", &S, &E); printf("S: %d E: %d\n", S, E)</stdio.h>…

scanf()

scanf("%s", hoge); では '\n' を捨てることを忘れていました. まったく,大晦日だと言うのに識別子の特性を忘れててダメです. また,今年の進捗はCODE THANKS FESTIVAL2014 B日程をオンサイト参加できたこと,幅・深さ優先探索ができるようになったことく…

if文のスコープと使わない変数宣言

コンパイルできるコード #include <stdio.h> int main() { int i = 4444; printf("i: %d\n", i); if ( 1 ) { int j = 8888; printf("i: %d\nj: %d\n", i, j); } //printf("i: %d\nj: %d\n", i, j); return 0; } コンパイルできないコード その1 #include <stdio.h> int main() </stdio.h></stdio.h>…

適当な文字列処理を行ってから末端でナル文字処理するのが気持ち悪い

最初から全部のメモリをナル文字で埋めて初期化しておけばいい!(名案!)(適当) #include <stdio.h> #include <string.h> #define NUM 6 int main() { int i; char text[NUM] = "Hello"; for ( i = 0; i < NUM; ++i ) if ( '\0' == text[i] ) printf("text[%d]に'\\0'を発見</string.h></stdio.h>…

コマンドライン引数とsizeof()とstrlenと

ソースコード #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char *argv[]) { int i; char *ch = "Hello"; char ar[] = "Hello"; if ( 2 != argc ) { fprintf(stderr, "引数が足りません\n"); exit(-1); } printf("argv[1]: %s\n", argv[1]); printf("s</string.h></stdlib.h></stdio.h>…