"文字列sの中に文字cが含まれていればその文字へのポインタを返す変数を作成せよ。(添字演算子を用いずに実現すること。)必須関数:char *str_chr(const *s, int c) { /* */}"
というものが、サンプル回答もなく困っています。
#include <stdio.h>
char *str_chr(const char *s, int c)
{
while (*s)
if (*s++ == c)
break;
return s; /* warning C4090: 'return': different 'const' qualifiers */
}
int main(void)
{
char str[128];
char c;
puts("入力された文字列str[128]内の文字cのポインタを返します。");
printf("str = "); scanf("%[^\n]", str);
printf("c = "); scanf("%c%*c", &c);
printf("入力された文字str[128] = \"%s\"内の文字%cのポインタは%pです。\n",
str, c, str_chr(str, c));
return 0;
}
走査した後にどのようにポインタを送ればいいかわかりません。
指定されている関数の引数にconstが使われているためか*str_chr関数でreturn sができません。
どういう記述方法ならポインタをreturnで返せるのでしょうか。
お手数ですが回答いただけると助かります。