7.
文字列:用例
文字列:用例
文字定数によって文字列を作成するプログラムです。
#include <stdio.h>
main( )
{
char hello[6];
hello[0] = 'H';
hello[1] = 'e';
hello[2] = 'l';
hello[3] = 'l';
hello[4] = 'o';
hello[5] = 0;
printf( hello );
}
- 配列の要素に、1文字ずつ代入します。
- 終端の 0 を忘れないようにしてください。
文字列を入力し、1文字ずつ表示するプログラムです。
#include <stdio.h>
main( )
{
char str[200];
int i;
scanf( "%s", str );
for( i = 0 ; str[i] != 0 ; i++ )
printf( "%c\n", str[i] );
}
文字列を入力し、‘A’または‘a’が、何文字目にあるかを調べるプログラムです。
#include <stdio.h>
main( )
{
char str[200];
int i;
scanf( "%s", str );
for( i = 0 ; str[i] ; i++ ){
if( str[i] == 'A' || str[i] == 'a' )
break;
}
if( str[i] )
printf( "A,aは%d文字目です\n", i );
else
printf( "A,aは含まれていません\n" );
}
- 文字列を先頭から調べて、‘A’または‘a’が出現したら繰り返しから抜けます。
- for 文の後で、文字列の i 番目が 0 でなければ、‘A’か‘a’が見つかっています。
2つの文字列を入力し、同じであるかどうかを調べるプログラムです。
#include <stdio.h>
main( )
{
char str1[200];
char str2[200];
int i;
scanf( "%s", str1 );
scanf( "%s", str2 );
for( i = 0 ; str1[i] && str2[i] ; i++ ){
if( str1[i] != str2[i] )
break;
}
if( str1[i] == 0 && str2[i] == 0 )
printf( "同じ文字列です\n" );
else
printf( "違う文字列です\n" );
}
- 様々な書き方が考えられますが、分かりやすいと思われるものにしました。
入力された文字列を 3 回繰り返した文字列を作成し表示するプログラムです。
#include <stdio.h>
main( )
{
char pattern[200];
char str[200];
int i, j;
int n = 0;
scanf( "%s", pattern );
for( i = 0 ; i < 3 ; i++ ){
for( j = 0 ; pattern[j] ; j++ )
str[ n++ ] = pattern[j];
}
str[n] = 0;
printf( "%s\n", str );
}
- 変数 n を使用して、0 番目から順番に文字を代入します。
- str[ n++ ] = は、str の n 番目の要素に代入が行われてから、n がインクリメントされます。
実行結果です。
Hello
HelloHelloHello