陈同学睡不醒 2021-12-24 16:29 采纳率: 50%
浏览 41
已结题

C语言molloc()函数在char类型中怎么使用

在动态内存分配中使用molloc()函数,int整型可以显示出来,但把数据换成char类型就运行出错了,这是怎么回事啊?

#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 );

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);
    }

    for( i = 0 ; i < no_els ; i++ )
        printf("Enter %d is %c\n",i+1,*(int_array+i));
    free ( int_array );    
}    
    return 0 ;

}

运行结果是这样的

img

用gets函数和puts函数试过 结果报错的更离谱了
我想要达到的结果是用char类型逐行显示每个元素

img

  • 写回答

5条回答 默认 最新

  • CSDN专家-link 2021-12-24 16:39
    关注

    scanf("%c",这句前加一个getchar()
    你输入一个字符后按回车键了,这样会有一个换行符,需要用getchar()接收掉,否则scanf("%c"会接收这个换行符

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 1月1日
  • 已采纳回答 12月24日
  • 修改了问题 12月24日
  • 修改了问题 12月24日
  • 展开全部

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失