D.以上说法都不对。
程序段第 2 行中
printf("*")
很显然打印了 1 个字符,所以返回值是 1。
'0' == 48
首先:printf的返回值是根据打印的字符数的,比如printf("abc\n");返回的就是4;printf("%d",123);返回的是3;所以你的题目中的表达式printf的返回值是1;所以;t++;t的值是1;t<3成立,break中断循环