湖州佳成建设网站,网页qq登陆手机版网址,wordpress运行,wordpress添加说说功能赋值和条件看似是C语言中毫不相关的两个概念#xff0c;虽然实际过程中我猜测不会有太多这种不太符合常理的情况出现#xff0c;但是现在在学习的过程中#xff0c;为了出题而出题总是会整出一些花活出来.....这很难不让人联想起高中时一些大佬为了彰显自己的数学天赋而自己…赋值和条件看似是C语言中毫不相关的两个概念虽然实际过程中我猜测不会有太多这种不太符合常理的情况出现但是现在在学习的过程中为了出题而出题总是会整出一些花活出来.....这很难不让人联想起高中时一些大佬为了彰显自己的数学天赋而自己手动捏造出一些奇了吧怪的导数题来恶心人俗称钓鱼卷......不过不管怎样特算是补起了自己的一个知识盲区一起来看看吧~ void sstrcat(char *s, char *t) { int n; nstrlen(s); while(*(sn)*t){ s; t; } } 上面这个函数是一个要求自己手搓一个strcat函数即字符串连接函数我们来看while循环里面的这个语句 while(*(sn)*t) 这显然是一个赋值语句可是按理来说应该是一个条件判断语句的然而程序也是正确的只能说明这个赋值语句是可以当作有真值的语句的。
文心一言出场~~ 也就是说赋值语句作为一个判断语句的时候返回值是被赋予的那个值。
回到本例中那么该*(sn)*t语句就应该返回的是右边的*t这个字符的值当它到达字符串结尾的时候为零此时停止。
感觉这个方法其实很巧妙地进行了终止判断不需要再写一个额外的语句来判断后面的字符串是否已经到达末尾。但是不建议在自己写的时候这么写确实容易看不懂其实也就是大佬们秀一把自己的语法功底啦~