应该改成这样
#include
main()
{
printf("a=%4d,b=-%6.2f,c=%c,d=%s",12,3.456,'A',"hello");
}
或者这样
#include
main()
{
printf("a=%4d,b=-6.2f,c=%c,d=%s",12,3.456,"A","hello");
}
都不会出错
输出浮点数的时候漏了%,导致3.45被当成字符输出了,A被当成字符串输出了,而printf输出字符串是根据结尾的\0来停止的,单引号的A后面不会有\0所以printf访问越界了。
控制台程序,运行完就自动结束了.
你可以在控制台下(命令行下运行此程序就可以看到结果了)
很简单,b=%-6.2f,你漏了个%号。