69,373
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
void fun()
{
int i;
char buf[8];
for(i=0;i<5;i++)
{
sprintf(buf,"string%d",i*100);
printf("%s\n",buf);
}
}
void main()
{
fun();
}
输出的结果为什么是:
string0
string100
但是那个数组的长度只有8B,"string"和'\0'已经占据了7个字节,何来输出string100。而且怎么输出两行就停止了。我觉得纳闷了。
#include <stdio.h>
void fun()
{
int i;
char buf[8];
for(i=0;i<5;i++)
{
sprintf(buf,"string%d",i*100);
printf("%s\n",buf);
}
}
int main()
{
fun();
system("pause");
return 0;
}