c言語の質問なんですがasciiコードとポインタを使ってAB1C#dという文字列をab1c#dという風に大文字のところだけ変換してほかのところは変換されないようにしたいんですが

C言語関連53閲覧

ベストアンサー

0

ThanksImg質問者からのお礼コメント

ありがとうございます。うまくいきました

お礼日時:1/18 8:08

その他の回答(3件)

0

#include <stdio.h> #include <ctype.h> int main(void) { char *s = "AB1C#d"; char d[7], *p, *q; p = s; q = d; do { *q++ = toupper(*p); }while(*p++ = '\0'); printf("%s>%s\n", s, d); return 0; }

0

単純に加算してしまうと、全ての文字列が含まれてしまうので、a〜zに入る文字列なのかどうかを、if文として足して条件分岐する必要がありますね。