簡體   English   中英

printf 或 scanf 出現問題(無法正確打印數字)

[英]Problem with printf or scanf (wont print the number properly)

我正在嘗試從文件中讀取數字,該函數僅打印小數點后的數字。 知道為什么會這樣嗎? 謝謝!

float Read() {    
    int i, k, w, m, n, j;    
    float number;    
    float a[m];    

    FILE *fil1;    
    fil1 = fopen("numbers.txt", "r");    
    w = 0; k = 0;     
    while (fscanf(fil1, "%d", &n) != EOF) {    
        fscanf(fil1, "%f", &number);    
        a[k] = number;    
        printf("%d => %f \n", i, a[k]);    
        w++;k++;
    }
}

將 n 更改為浮點數並將其讀取為浮點數:

#include "stdio.h"
#pragma warning(disable : 4996)

float Read()
{
    int k, w;
    float   n;
    float a[100];

    FILE* fil1;
    fil1 = fopen("numbers.txt", "r");
    w = 0; k = 0;
    while (fscanf(fil1, "%f", &n) != EOF) {
        a[k] = n;
        printf("%f \n", a[k]);
        w++; k++;
    }

    return 0;
}

您正在掃描文件兩次,基本上是每隔一個數字就跳過一次。 這應該解決它。

float Read (){    
int i,k,w,m,n,j;    
float   number;    
float a[m];    

 FILE *fil1;    
fil1 = fopen("numbers.txt","r");    
 w=0; k = 0;     
  while (fscanf(fil1, "%f", &n) != EOF){    
a[k]=n;    
  printf ("%d => %f \n",i, a[k]);    
 w++;k++;}    

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM