c99/c++ localised variable definition

Stefan Farfeleder stefan at fafoe.narf.at
Mon Jan 31 08:55:16 PST 2005


On Mon, Jan 31, 2005 at 05:31:17PM +0100, Ulrich Spoerlein wrote:

> Doesn't look so:
> #include <stdlib.h>
> #include <stdio.h>
> 
> int
> main(int argc, char **argv) {
>   int N = 42;
>   int i;
>   for (int i = 0; i < N; i++)
>     if (i == 23)
>       break;
>   printf("%d\n", i);   /* use finishing index */
>   return (0);
> }
> 
> % cc -Wall -std=c99 test.c && ./a.out
> 1
> % icc -Wall -std=c99 test.c && ./a.out
> test.c(12): remark #592: variable "i" is used before its value is set
>     printf("%d\n", i);   /* use finishing index */
>                    ^

-Wshadow

Stefan


More information about the freebsd-arch mailing list