#include <stdio.h>
#include <stdlib.h>
int main()
{
char* int_array;
int no_els, i;
printf("Enter the number of elements: ");
scanf("%d", &no_els);
getchar(); //修改
int_array = (char*)malloc(no_els * sizeof(char));
if (int_array == NULL)
printf("Cannot allocate memory\n");
else
{
for (i = 0; i < no_els; i++)
{
printf("Enter element %d: ", i + 1);
scanf(" %c", int_array + i); //修改
getchar(); //修改
}
for (i = 0; i < no_els; i++)
printf("Enter %d is %c\n", i + 1, *(int_array + i));
free(int_array);
}
return 0;
}
for(i=0;i<10; i++)
{scanf(“%c”, a[i]);}
scanf根据你限制的输入类型提取 getchar字符都接收 如果把scanf换成getchar 或 gets() 这时就需要 getchar吃掉无用回车