当前位置:编程学习 > JAVA >>

printf()与fprintf()函数的问题

下面代码直接Segment fault出错:
Java代码 
printf(">@;?.=@?>)>%25135501313>;0=71-<;2;6%:<>;#####"); 

原因可能是遇到%号后,开始算占位符,至于占位符具体怎么算还不是太清楚,出现段错误是因为后面的变长参数可能不匹配导致的。上面代码变长参数为0。

若要输出%,还得:
Java代码 
printf("%%") 


bug产生的原因是使用方法不正确,后面那句对于异常字符串可能产生异常,而前面的则不会:
Java代码 
fprintf(stdout, "%s", str->s); 
fprintf(stdout, str->s); 

作者“Some thing on techology”
 

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,