49、有以下程序 #include <stdio.h> main( ) { FILE *fp; int i,k=0,n=0; fp=fopen("d1.dat","w"); for(i=1;i<4;i++) fprintf(fp,"%d",i); fclose(fp); fp=fopen("d1.dat","r"); fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n); fclose(fp); } 執(zhí)行后輸出結果是(B) A)1 2 B)123 0 C)1 23 D) 0 0
2 回答

千巷貓影
TA貢獻1829條經(jīng)驗 獲得超7個贊
for(i=1;i<4;i++) fprintf(fp,"%d",i); 把123寫入文件
fscanf(fp,"%d%d",&k,&n); 讀取整形時遇到不屬于數(shù)字的字符時結束,即讀取k=123,文件結束,n不變

絕地無雙
TA貢獻1946條經(jīng)驗 獲得超4個贊
首先定義了一個文件指針fp,然后通過函數(shù)fopen以“w”的方式打開文件“d1.dat”,直接通過一個for循環(huán),每循環(huán)一次調(diào)用函數(shù)fprintf將i的值寫進fp所指的文件中,該循環(huán)共循環(huán)3次,循環(huán)完后fp所指文件的內(nèi)容為123。然后通過fclose函數(shù)關閉fp所指文件。接著通過fscanf函數(shù)將fp所指文件的內(nèi)容讀出并賦值給變量k和變量n,由于fp所指文件中只有123沒有分隔符,故只給k賦值為123,變量n的值依然為以前的值,故最后輸出k和n的值為123。所以,4個選項中選項B符合題意
- 2 回答
- 0 關注
- 167 瀏覽
添加回答
舉報
0/150
提交
取消