実現したいこと
受け取った文字列を逆転させる関数をC言語で自作したい。
前提
C言語で自分で宣言した関数内でsizeofを使うとちゃんと配列の要素数を取得できない
該当のソースコード
C言語
#include<stdio.h>
#include<stdlib.h>
char* reverse(char* ary) {
char* res = NULL;
//sizeofで配列数を上手く取得できない
int num = sizeof(ary) / sizeof(ary[0]);
printf("%d\n", num);
res = (char*)malloc(sizeof(char) * num);
for (int i = 0; i < num; i++) {
res[i] = ary[num - i - 1];
}
return res;
}
int main() {
char s[80];
scanf("%s", s);
printf("%s", reverse(s));
return 0;
}
回答2件
あなたの回答
tips
プレビュー