我做了一个关于将输入输入到 char 指针的测试用例。当我尝试运行该程序时,输出不正确(它变成了一系列随机字符,例如:_ @$)。我打算打印该 char 指针中的每个元素。我对我的代码进行了一些更改,但它仍然是错误的(与以前相同的问题)。有人可以帮我找出问题所在以及解决方法吗?
int chara;
int counts =0;
main(){
char *buffer=(char *)malloc(sizeof(char)*25);
while((chara=getchar())!= EOF&& counts<25){
*buffer++ = chara;
printf("%c\n",*buffer);
counts++;
}
*buffer = '\0';
printf("%s\n",buffer);
free(buffer);
}