下面代码直接Segment fault出错:
原因可能是遇到%号后,开始算占位符,至于占位符具体怎么算还不是太清楚,出现段错误是因为后面的变长参数可能不匹配导致的。上面代码变长参数为0。
若要输出%,还得:
bug产生的原因是使用方法不正确,后面那句对于异常字符串可能产生异常,而前面的则不会:
printf(">@;?.=@?>)>%25135501313>;0=71-<;2;6%:<>;#####");
原因可能是遇到%号后,开始算占位符,至于占位符具体怎么算还不是太清楚,出现段错误是因为后面的变长参数可能不匹配导致的。上面代码变长参数为0。
若要输出%,还得:
printf("%%")
bug产生的原因是使用方法不正确,后面那句对于异常字符串可能产生异常,而前面的则不会:
fprintf(stdout, "%s", str->s);
fprintf(stdout, str->s);