連載
» 2018年04月12日 10時00分 公開

山浦恒央の“くみこみ”な話(105):バグ検出ドリル(5)「小さな親切、大きなお世話」な問題 (2/3)

[山浦恒央 東海大学 大学院 組込み技術研究科 非常勤講師(工学博士),MONOist]

3.今回の問題

 リスト1-1に仕様(文字コードを出力するプログラムの仕様)、リスト1-2に文字コード一覧、リスト1-3にソースプログラムを示す。この中のバグを指摘せよ。

概要:ASCIコード表のA〜Zを表示する。

仕様1:リスト1-2にASCIコード表を示した。これに従って、コンソールに小文字「a」〜「z」と大文字「A」〜「Z」を表示せよ。

リスト1-1 文字コードの仕様
  00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00                                
10                                
20   ! " # $ % & ( ) * + , - . /
30 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
40 @ A B C D E F G H I J K L M N O
50 P Q R S T U V W X Y Z [ \ ] ^ _
60 ' a B c d e f g h i J K l m N
70 O p q R s t u v w x y Z { | } ~
リスト1-2 文字コード一覧
#include <stdio.h>
int main(void){
	int i;
	//A〜Zをコンソールに表示
	for (i = 0x41; i <= 0x5A; i++) {
		printf("%c ",i);
	}
	printf("\n");
	
	//a〜zをコンソールに表示
	for (i = 0x62; i < 0x7B; i++) {
		printf("%c ",i);
	}
	return 0;
}
リスト1-3 文字コード表示プログラム

Copyright © ITmedia, Inc. All Rights Reserved.