回答編集履歴

3

EBCDIC 追加

2020/02/01 04:38

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -59,3 +59,5 @@
59
59
  }
60
60
 
61
61
  ```
62
+
63
+ 文字コードは ASCII でも EBCDIC でもどちらでも OK。

2

質問の条件が変わったので別解を提示

2020/02/01 04:38

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -25,3 +25,37 @@
25
25
  }
26
26
 
27
27
  ```
28
+
29
+ ***追記***
30
+
31
+ 英字だけで呼び出されることが分かっていればこれで十分。
32
+
33
+ ```C
34
+
35
+ #include <stdio.h>
36
+
37
+
38
+
39
+ void changeS_letter(char *t, const char *s)
40
+
41
+ {
42
+
43
+ do *t++ = 'A' ^ 'a' ^ *s; while (*s++);
44
+
45
+ }
46
+
47
+
48
+
49
+ int main(void)
50
+
51
+ {
52
+
53
+ char str[30];
54
+
55
+ changeS_letter(str, "ABCxyz");
56
+
57
+ puts(str);
58
+
59
+ }
60
+
61
+ ```

1

誤記の修正

2020/02/01 04:33

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -1,6 +1,6 @@
1
1
  小文字を大文字に変換するのはいいのですが、
2
2
 
3
- 文字でない文字を変換するのはいけませんね。
3
+ 文字でない文字すべてを変換するのはいけませんね。
4
4
 
5
5
  abc123XYZ が ABCQRSxyz になってしまいます。
6
6