[previous] 3708 [next] Implicit conversion: char to float.
Arithmetic type - Implicit conversions

An expression of type char is being implicitly converted to type float. This is a strange type conversion. Is it intended ?

As shown in the code example below, implicit type conversions of this nature can occur in the context of:

In the C language there exist 3 distinct char types: It is recommended that signed char and unsigned char should be used for "numeric" data and plain char should be used for "character" data.

For example:


/*PRQA S 2017,3197,3199,3203,3227,3408,3447,3602,3625 ++*/


extern void ef(float p);

extern float foo(char v)
{
    float a = v;                /* Message 3708 - Initialisation    */

    a = v;                      /* Message 3708 - Assignment        */

    a = a + v;                  /* Message 3708 - Balancing         */

    ef(v);                      /* Message 3708 - Function Argument */

    return v;                   /* Message 3908 - Function Return   */
}


No MISRA C:2012 Rules applicable to message 3708


See also:

QA·C Source Code Analyser 8.1
MISRA C:2012 Compliance Module 1.0
© 2012 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index | MISRA C:2012 Rule Index Contents