It's because every hardcoded string like "First" and "Second" is present in the "read-only" part of the executable, hence they have an address.
On linux, you can see them by using "objdump -s -j .rodata execfile".
If you try to display str1, str2 and str3 address, you will see that there are different.