C
1#include <stdio.h>
2#include <stdlib.h>
3#include <string.h>
4
5int main() {
6 char tmp[] = "0";
7 int i, sum;
8 char buf[16], *p;
9
10 fgets(buf, sizeof(buf), stdin);
11 p = strchr(buf, '\n'); if(p) *p = '\0'; //'\n'削除
12 printf("buf=\"%s\"\n", buf);
13 sum = 0;
14 for(i=0; i<strlen(buf); i++) {
15 tmp[0] = buf[i];
16 sum += atoi(tmp);
17 }
18 printf("sum=%d\n", sum);
19
20 return 0;
21}
atoi(buf[i])というように各文字列の要素
buf[i] は「文字列の各要素」になります. 文字列の各要素は『文字』ですので, atoi の引数としては適当ではありません.
上のコードでは, atoi に文字列として渡すために, (先に1文字の文字列(="0")として初期化している) tmp に一文字ずつ取り出して, それを渡しています.
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/12 15:20