《C专家编程》---不知道的那些事

Posted 小时候挺菜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《C专家编程》---不知道的那些事相关的知识,希望对你有一定的参考价值。

1.char *b = const char *a 会报警告,而const char* a = char *b不会,要使这种赋值形式合法,必须满足下列条件之一:

  1)两个操作数都是指向有限定符或无限定符的相容类型的指针

  2)左边指针指向的类型必须具有右边指针所指向类型的全部限定符

警告内容:initialization discards ‘const’ qualifier from pointer target type [enabled by default]

(C专家编程:1.9节)

2.对有符号数转换为无符号数的例子和解决办法

来看一段代码:

int main()
{
    int d = -1;
    unsigned int a = 3;
    if(d < a)
    {
        printf("d is low\n");
    }
}

这段代码在运行后毫无反应,说明程序没有进入if判断语句,即if判断的返回值总是0

原因显而易见,因为d被转换为无符号整数,会变得很大,这样永远都大于a,

解决的办法是

if(d < (int a))

 (C编程专家:1.10节)

以上是关于《C专家编程》---不知道的那些事的主要内容,如果未能解决你的问题,请参考以下文章

聊聊视频播放那些事1

2017年,开发App你需要知道的那些事

React.js入门必须知道的那些事

C++按值返回对象那些事

你不知道的软件测试那些事?

学习java,你必须知道的那些事