[過去ログ] C言語なら俺に聞け 160 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
956: デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) [sage] 2023/04/17(月) 08:14:09.28 ID:TjOyN7pL0(1/5) AAS
if (n < 0) n = -n;
959: デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) [sage] 2023/04/17(月) 10:57:06.60 ID:TjOyN7pL0(2/5) AAS
>>957
int で受けて 文字列化してるからちょっと
最初から文字列で受けてるなら一考の余地はあるかもね
963
(1): デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) [sage] 2023/04/17(月) 12:56:30.89 ID:TjOyN7pL0(3/5) AAS
文字列を受ける場合
int chg(const char* s)
{
 int ret = 0;
 char tmp[2] = { 0 };
 while (*s && !isdigit(*s)) s++; /*数字じゃないところは飛ばす */
 if (*s) {
  while (*s && isdigit(*s)) { /* 数字が連続している間だけ */
   tmp[0] = *s; ret += atoi(tmp);
   s++;
  }
 }
 return ret;
}

環境依存で
 isdigit(*s) を ('0'<=*s && *s <='9') に
 tmp[0] = *s; ret += atoi(tmp); を ret += s[0] - '0'; に
置き換えることもできるかもしれない
965: デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) [sage] 2023/04/17(月) 13:15:24.09 ID:TjOyN7pL0(4/5) AAS
>>964
さんきゅう 数字は保障されてたか
966: デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) [sage] 2023/04/17(月) 13:21:38.21 ID:TjOyN7pL0(5/5) AAS
次の while (*s && isdigit(*s)) と意図の一部は重なるし if (*s) はいらんかったね
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.554s*