これは私のコード例です:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
void convert(char *a, char *b) {
int i;
for(i=0; i<strlen(a); i++) {
b[i]=tolower(a[i]);
}
}
int main() {
char a[20], b[20];
fgets(a, sizeof(a), stdin);
convert(a, b);
printf("%s\n", b);
return 0;
}
ただし、convert() 関数は、strlen(a) よりも 1 文字多く変換することもあります (ランダムな文字です)。たとえば、次の出力があります。
ASDSA
asdsa
%
どうすれば修正できますか?