大锴_个人页

个人头像照片 大锴
0
3
0

个人介绍

C入门级选手的嵌入式开发人员

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息
正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2019-07-17

    请教 strcat应用的

    用同样的代码复现了一下: 参考一个问答:https://zhidao.baidu.com/question/390378147814693085.html语句 a = 'aaa'; 是将a指向了 只读数据段的“aaa”,因为是只读数据段,所以不允许被修改,而 strcat()函数的原型是:char strcat ( char destination, const char * source ); 参数destination不是一个只读的数据,是会被改变的,换句话讲,如果这里的strcat操作成功,那么只读数据段内容就会被修改,这显然是不合理的,所以这里会报错。我实验了以下内容替代main()函数的前两句:其中不可行的有:1, char *a = (char *)malloc(10 * sizeof(char)); a = 'aaa'; 2, char *a = 'aaa'; 3, char *a; a = 'aaa'; 其中可行的有:1, char *a = (char *)malloc(10 * sizeof(char)); strcpy(a,'aaa'); 2, char a[] = 'aaa'; 3, char a[200] = 'aa'; 这种问题在不能很好理解内存分配的时候确实很难想明白。因为编译的时候还没有进行分配,不会报错。
    踩0 评论0
  • 回答了问题 2019-07-17

    关于C语言getchar()

    请参阅运算符优先级,!= 的优先级比 = 高,所以第二个将会导致while的判断条件从右往左算,即后面的始终值都为true,执行的始终是:while(c=1){sum += 1-48;}
    踩0 评论0
  • 回答了问题 2019-07-17

    C语言,a=malloc,b=a,c=a,free(b),free(c)出错

    补充,规范的情况下, free (b) 之后要有 b = NULL; c 也是, 防止野指针出现。
    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息