C6272
upozornění C6272: bez float předána jako argument <number> Při volání <function> vyžaduje float
Toto upozornění znamená řetězec formátu určuje, že Plovák je požadováno, například %f nebo %g specifikace pro printf, , avšak předána non plovoucí jako celé číslo nebo řetězec.Tato závada je pravděpodobně za následek nesprávné výstup; však za určitých okolností to může vést k selhání.
Příklad
Následující kód vygeneruje toto upozornění:
#include <stdio.h>
#include <string.h>
void f()
{
char buff[5];
int i=5;
sprintf(buff,"%s %f","a",i);
}
Chcete-li opravit toto upozornění, použijte %i namísto %f specifikaci, jak je znázorněno v následujícím kódu:
#include <stdio.h>
#include <string.h>
void f()
{
char buff[5];
int i=5;
sprintf(buff,"%s %i","a",i);
}
Následující kód používá funkci řetězec bezpečné manipulace s sprintf_s, opravit toto upozornění:
#include <stdio.h>
#include <string.h>
void f()
{
char buff[5];
int i=5;
sprintf_s(buff,5,"%s %i","a",i); // safe version
}