《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专家编程》---不知道的那些事的主要内容,如果未能解决你的问题,请参考以下文章