/*=======================================================================* * 数字・数字列 から 数値 への変換 2023.8.10 山田俊行 * *=======================================================================*/ #include <stdio.h> #include <stdlib.h> /* atoi() */ int main(void) { char digits[] = { '0', '1', '2', '?', '\0' }; /* 文字配列,文字列 */ char *p; /* char 型データの値は文字コードを表す小さな整数 */ puts("===== *p ====="); for (p = digits; *p != '\0'; p++) printf("%d\n", *p); /* %d は値の10進表示 */ /* 文字列は '\0' で終わる char 型データの並び */ puts("========== p =========="); for (p = digits; *p != '\0'; p++) printf("%s\n", p); /* %s は文字列の表示 */ /* 数字から数値への変換(数字のコードの連続性を利用) */ puts("========== *p - '0' =========="); for (p = digits; *p != '\0'; p++) printf("'%c' -> %d\n", *p, *p - '0'); /* %c は文字の表示 */ /* 数字列から数値への変換(atoi() を利用) */ puts("========== atoi(p) =========="); for (p = digits; *p != '\0'; p++) printf("\"%s\" -> %d\n", p, atoi(p)); return 0; }