下のような感じでプログラムをプログラムを書きました。
このプログラムで、文字列s0で渡された文字列を逆順に配列s1にコピーにするにはどうすればいいのかわからないです。
どのように変えたら逆になるのか教えてもらえたらありがたいです。
回答お願いします!!
#include <stdio.h> void string_revcopy(const char[], int, char[], int); int str_length(const char[]); int main(void) { char str1[]="abcdefghijklmn"; char str2[10]={'\0'}; int len1, len2; len1 = str_length(str1); len2 = (int)(sizeof(str2)/sizeof(str2[0])); string_revcopy(str1, len1, str2, len2); printf("str1の文字列:%s\n", str1); printf("str2の文字列:%s\n", str2); return 0; } void string_revcopy(const char s0[], int n, char s1[], int m) { int num; for( int i = 0; i < m; i++){ s1[i] = '\0'; } if( n > m - 1){ num = m - 1; } else{ num = n; } for(int i = 0; i < num; i++){ s1[i] = s0[i]; } } int str_length(const char s[]) { int len = 0; while(s[len]){ len++; } return len; }
char str2[10]={'\0'}; の 10 はどこから来たのですか?
回答2件
あなたの回答
tips
プレビュー