-4

cプロジェクトで作業しているときに、次の問題が見つかりました。float変数を宣言し、それにscanf操作を実行しました。サンプルコードは-

<#include stdio.h>    
<#include conio.h>    
void main()    
{
   clrscr();
   float foo;
   scanf(" %f ",&foo);

   //remaining code goes here

   getch();
}

このエラーは、 scanfステートメントの%fの前後にあるスペースが原因であることがわかりました。しかし、その背後にある理由はわかりませんか?ありがとう。

4

1 に答える 1

0

これで少しはお役に立てると思います。

この関数scanfは、次の非空白文字の前にある空白文字を読み取って無視します (空白文字には、スペース、改行、およびタブ文字が含まれます。isspace を参照してください)。

A single whitespace in the format string validates any quantity of 
whitespace characters extracted from the stream (including none).

#include<stdio.h>また、そうではないはずです<#include stdio.h>

于 2012-11-25T07:42:19.497 に答える