printf什么情况下会出错返回负数?

2025-03-07 10:07:24
推荐回答(2个)
回答1:

溢出的情况下吧?printf输出的字符是以ASCII码的形式输出的,你要是输出值不再ASCII码范围内,就会出现异常

返回值是int类型
printf()函数的返回值返回所打印的字符的数目。如果有输出错误,那么printf()会返回一个负数。

一般出现这种错误,编译器就报错了,实际中只见过返回0的,没见过返回负的。
有这种情况也是程序运行中出问题,做为判断的
#include

main(){
int a;
int i;
scanf("%d",i);
a=printf("%d",i);
printf("\n\n\n%d",a);

}

如果输入“-3242iiii”,就会出问题,不过程序也就断了,此时返回值应该为负,但是在WIN下面调试就看不到,不知道在GCC下是不是能看到

回答2:

格式不对吧,把程序打出来看看