演習4-4 K&R プログラミング言語C
4.3 の電卓プログラムを修正する。
4.3 の電卓プログラムを修正する。
よくわかる! 実践Cプログラミング(日経BPパソコンベストムック)の33ページの2進数出力関数 putBinary の動作について調べてみる。
4.3 外部変数 演習4-10まで以下の電卓プログラムを修正していく。 #include <stdio.h> #include <stdlib.h> /* atof() 用 */ #define MAXOP 100 /* 被演算子数、演算子の最大サイズ */ #define NUMBER ‘0’ /* 数字があったという記号 */ int getop(char []); v…続きを読む
4.2 非整数を返す関数 atof が返す double の値は return される際に int に変換される。 これは、atoi が int を返す関数であるため。 そこで、コンパイラが警告を出さないように明示的にキャスト(型変換)している。 /* atoi : atof を使って文字列 s を整数に変換する */ int atoi(char s[]) { double atof(char s…続きを読む
演習4-1 行の最後尾、探索文字の後ろから探していく。 #include <stdio.h> #include <string.h> #define MAXLINE 1024 int getline(char line[], int max); int strrindex(char source[], char searchfor[]); char pattern[] = …続きを読む
演習3-6 文字配列に文字を入れる毎に幅 w の値をデクリメントしてゆき、最後に w の数だけスペースを入れる。 #include <stdio.h> #include <string.h> #define MAX 1024 void itoa(int n, char s[], int w); void reverse(char s[]); int main(int arg…続きを読む
演習3-5 #include <stdio.h> #include <string.h> #define MAX 1024 void itob(unsigned n, char s[], int b); void reverse(char s[]); int main(int argc, char *argv[]) { char str1[MAX]; char str2[M…続きを読む
演習3-4 int の有効範囲を調べる。 #include <stdio.h> #include <limits.h> int main(int argc, char *argv[]) { printf("INT_MIN => %12d\n", INT_MIN); printf("INT_MAX => %12d\n", I…続きを読む
演習3-3 #include <stdio.h> #define MAX 1024 void expand(char s1[], char s2[]); int main(int argc, char *argv[]) { char *str1 = "-c-h-r-b, a-z0-9"; char str2[MAX]; expand(str1, str2); pri…続きを読む
演習3-2 改行、タブを \n、\t に変換する escape 関数 #include <stdio.h> #define MAX 1024 void escape(char *s, char *t); int main(int argc, char *argv[]) { int i, c; char s[MAX]; char t[MAX]; i = 0; while ((c = ge…続きを読む