[previous] 0198 [next] [U] Unknown length modifier used with '%%' conversion specifier, number %s.
Explicitly undefined REFERENCE - ISO:C90-7.9.6.2 Formatted input/output functions

A length modifier is being used in conjunction with a '%' conversion specifier in a scanf format string.

Length modifiers are used in conjunction with integer and floating conversion specifiers but not with '%%'.

For example:


/*PRQA S 336,602,1302,1307,2017,3122,3132,3200,3209,3335,3408,3602,3625 ++*/

#include <stdio.h>

extern void foo(void)
{
    int n;

    scanf("%% %d",  &n);              /*              */

    scanf("%l% %d",  &n);             /* Message 0198 */
    scanf("%h% %d",  &n);             /* Message 0198 */
}


MISRA C:2012 Rules applicable to message 0198:

Rule-1.3  (Required) There shall be no occurrence of undefined or critical unspecified behaviour


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