C语⾔({})复合语句表达式
C语⾔中{}包裹的多个语句为复合语句。
加上()则变成了表达式语句,就可以进⾏赋值c语言中的逗号表达式
举例:
int n = ( { int _n = func(); _n>0?_n:0});
对内存stirng进⾏scanf,可以使⽤sscanf(str,format, ...),
但如果有很多数据要从字符串中读取,需要对str 指针进⾏偏移。
sscannf中format最后加上"%n",参数列表末尾加上接收这 &_n.那么 _n就会保存str读取的字符长度,此时str+_n就会把str移到此次未解析的地⽅。
#define mem_sscanf(ptr, format, ...) ({int _b=0; int _n = sscanf(ptr, format "%n", __VA_ARGS__, &_b); ptr+=_b;_b>0?_n:0;})
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论