这是我的示例代码:
#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) 多转换一个字符(它是一个随机字符),例如这是一个输出:
ASDSA
asdsa
%
我该如何解决?