C言語を使ったマイコン制御プログラムの“イロハ”を解説する本連載。今回も引き続き、「配列とポインタの深い関係」を探ります。
本連載では、これから組み込みシステムのプログラミングを学びたい人向けに、C言語を使ったマイコン制御プログラムの“イロハ”を解説していきます。
毎回少しずつステップアップしていけるよう、本文の最後で問題を出し、次回その解答と解説を紹介していきます。では早速、前回の問題を振り返ってみましょう。
文字列を入力し、英小文字があれば英大文字に換えて表示するプログラムを書いてみましょう。
今回も引き続き、「配列とポインタの深い関係」を探ってみます。
問題10は「文字列を入力し、英小文字があれば英大文字に換えて表示する」ものでした。C言語では文字列を文字の配列として扱うので、【問題8】と【問題9】から応用できます。つまり、配列の添字を使っても、あるいはポインタを使ってもコーディングすることができます。
それでは解答を発表します。まずは添字バージョンから始めます。
- #include <stdio.h>
- void main(void)
- {
- char str[100];
- int i;
- printf("文字列を入力してください->");
- scanf("%s", str);
- for (i = 0; str[i] != '¥0'; i++) {
- if (str[i] >= 'a' && str[i] <= 'z')
- str[i] = str[i] - 'a' + 'A';
- }
- printf("%s¥n", str);
- }
strupper.cを実行すると、次のような結果になります。
Copyright © ITmedia, Inc. All Rights Reserved.