下
C言語のお勉強ページに対するご意見・ご感想スレ
49:へなちょこ管理人 ★2009/07/03(金) 21:10:19AAS
/*
文字列strの中に、文字cが含まれていれば(複数ある場合は、最も先頭側とする)、
その文字へのポインタを返し、含まれていなければNULLを返す関数
char *str_chr(const char *str, int c) {}
を作成せよ。
*/
#include <stdio.h>
char *str_chr(const char *str, int c)
{
while(*str){
if(*str == c)
return (char*)str;
str++;
}
return NULL;
}
int main(void)
{
char str[128];
int c;
char *p;
printf("文字列を入力してください:");
scanf("%s", str);
while(getchar() != '\n' );
printf("検索する文字を入力してください:");
scanf("%c", &c);
if( (p = str_chr(str, c)) == NULL )
printf("指定された文字は見つかりませんでした。\n");
else
printf("%cは%d文字目にありました。\n", c, p - &str[0] + 1);
return 0;
}
上前次1-新書写板AA設索