C scanf behaving randomly
Difference between en3 and en4, changed 182 character(s)
Hello, codeforces!↵

As I am currently learning C in my computer science classes, I was thinking about trying to solve fundamental 800-1000 problems in C in codeforces.↵

But... I have no idea why this is happening :↵

```c↵
#include <stdio.h>↵

int main()↵
{↵
    size_t n;↵
    scanf("%zu", &n);↵
    printf("%zu", n);↵
}↵
```↵

As a custom invocation, if you give `1` as input, it gives you `2` as output.↵
It gave me random values in other contexts. It seems to behave fine when I use "%ld" instead of "%zu".↵

Any idea why this happens?↵

EDIT :↵

http://manpagesfr.free.fr/man/man3/scanf.3.html↵

Looking at the scanf documentation, it seems like the %z specifier was introduced by C99, and I think codeforces use C11.

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en4 English PoustouFlan 2022-09-17 01:30:05 182
en3 English PoustouFlan 2022-09-16 13:57:49 205
en2 English PoustouFlan 2022-09-15 18:30:06 6 Tiny change: 'vocation, it is giving `1' -> 'vocation, giving `1'
en1 English PoustouFlan 2022-09-15 18:29:23 565 Initial revision (published)