一段程序输出的疑惑。。

sundaygeek 2012-08-23 10:51:41


#include <stdio.h>

#include <stdlib.h>



int main(void)

{

long num1 = 234567L; /* Input values... */

long num2 = 345123L;

long num3 = 789234L;



long num4 = 0L; /* Values read from the file... */

long num5 = 0L;

long num6 = 0L;



float fnum = 0.0f; /* Value read from the file */

int ival[6] = { 0 }; /* Values read from the file */

FILE *pfile = NULL; /* File pointer */

char *filename = "C:\\myfile.txt";





pfile = fopen(filename, "w"); /* Create file to be written */

if(pfile == NULL)

{

printf("Error opening %s for writing. Program terminated.", filename);

exit(1);

}

fprintf(pfile, "%6ld%6ld%6ld", num1, num2, num3); /* Write file */

fclose(pfile); /* Close file */

printf("\n %6ld %6ld %6ld", num1, num2, num3); /* Display values written */



pfile = fopen(filename, "r"); /* Open file to read */

fscanf(pfile, "%6ld%6ld%6ld", &num4, &num5 ,&num6); /* Read back */

printf("\n %6ld %6ld %6ld", num4, num5, num6); /* Display what we got */



rewind(pfile); /* Go to the beginning of the file */

fscanf(pfile, "%2d%3d%3d%3d%2d%2d%3f", &ival[0], &ival[1], /* Read it again */

&ival[2], &ival[3], &ival[4] , &ival[5], &fnum);


fclose(pfile); /* Close the file and */

remove(filename); /* delete physical file. */



/* Output the results */

printf("\n");

for(int i = 0 ; i < 6 ; i++ )

printf("%sival[i] = %d", i == 4 ? "\n\t" : "\t", i, ival[i]);

printf("\nfnum = %f\n", fnum);

return 0;

}


为什么ival的输出是下面的这样,而不是22,456,734,512,37,89呢??求助

ival[i] = 0 ival[i] = 1 ival[i] = 2 ival[i] = 3
ival[i] = 4 ival[i] = 5

...全文
60 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
棋不语 2012-08-23
  • 打赏
  • 举报
回复
给一楼分然后结贴吧
Gloveing 2012-08-23
  • 打赏
  • 举报
回复
囧。。哈哈
sundaygeek 2012-08-23
  • 打赏
  • 举报
回复
楼上说的是,给马虎了。ths
baichi4141 2012-08-23
  • 打赏
  • 举报
回复
printf("%sival[i] = %d", i == 4 ? "\n\t" : "\t", i, ival[i]);
第一个%s对应参数列表中的格式符
第二个%d对应后面参数列表中的循环变量i

明显的书写错误,格式字符串中的[i]应该改成[%d]
多动脑,少提问

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧