亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

位移量結果為什么是這樣的?求

位移量結果為什么是這樣的?求

C
猛跑小豬 2023-03-05 21:17:55
# include <stdio.h>void main(){FILE *fp;int k,n ,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");fprintf(fp,"%d %d %d\n",a[0],a[1],a[2]);fprintf(fp,"%d %d %d\n",a[3],a[4],a[5]);fclose(fp);fp=fopen("d2.dat","r");fscanf(fp,"%d %d",&k,&n);printf("%d %d\n",k,n);//m=ftell(fp);printf("此時文件的指針為:");printf("%ld\n",ftell(fp));fscanf(fp,"%d %d",&k,&n);printf("%d %d\n",k,n);printf("此時文件的指針為:");printf("%ld\n",ftell(fp));fscanf(fp,"%d %d",&k,&n);printf("%d %d\n",k,n);printf("此時文件的指針為:");printf("%ld\n",ftell(fp));fclose(fp);}可是運行的結果為:3 8 12 (位移量問題)為什么是3 8 12 呢,第一個為什么成了3了,而第二次位移量怎么成了8了,相差了5,第三個位移量又成了12了,與上一個差了4,不明白,請高手指點!!謝謝
查看完整描述

2 回答

?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

\n輸出到文件實際上是 0D 0A 占2個字節
程序寫入文件的字節是
31 20 32 20 33 0D 0A 34 20 35 20 35 0D 0A 共14個字節
第一次讀入的時候 讀入1 空格 2
文件指針移過3個字節 31 20 32
第二次讀入的時候 讀入 空格 3 換行 4
文件指針移過了5個字節  
20 33 0D 0A 34
第三次讀入的時候 讀入 空格 5 空格 6
文件指針移過4個字節
20 35 20 36

查看完整回答
反對 回復 2023-03-08
?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

在文件時回車換行是,算兩個位的,一個為'\r','\n'

查看完整回答
反對 回復 2023-03-08
  • 2 回答
  • 0 關注
  • 135 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號