If you ever get unexpected results from a sketch, set "Verbose messages during: [X] compilation" in Preferences and look for compiler warnings.
/Users/john/Documents/Arduino/sketch_jan06b/sketch_jan06b.ino:1:10: warning: invalid conversion from 'const char*' to 'char' [-fpermissive]
char X = "123.45\0"; // String1
^~~~~~~~~~
/Users/john/Documents/Arduino/sketch_jan06b/sketch_jan06b.ino:2:10: warning: invalid conversion from 'const char*' to 'char' [-fpermissive]
char Y = "0.67\0"; // String2
^~~~~~~~
/Users/john/Documents/Arduino/sketch_jan06b/sketch_jan06b.ino: In function 'void setup()':
/Users/john/Documents/Arduino/sketch_jan06b/sketch_jan06b.ino:8:19: warning: invalid conversion from 'char' to 'const char*' [-fpermissive]
float x = atof(X);
^
In file included from /Users/john/Library/Arduino15/packages/arduino/hardware/avr/1.8.4/cores/arduino/Arduino.h:23:0,
from sketch/sketch_jan06b.ino.cpp:1:
/Users/john/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/avr/include/stdlib.h:361:15: note: initializing argument 1 of 'double atof(const char*)'
extern double atof(const char *__nptr);
^~~~
/Users/john/Documents/Arduino/sketch_jan06b/sketch_jan06b.ino:9:19: warning: invalid conversion from 'char' to 'const char*' [-fpermissive]
float y = atof(Y);
^
In file included from /Users/john/Library/Arduino15/packages/arduino/hardware/avr/1.8.4/cores/arduino/Arduino.h:23:0,
from sketch/sketch_jan06b.ino.cpp:1:
/Users/john/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/avr/include/stdlib.h:361:15: note: initializing argument 1 of 'double atof(const char*)'
extern double atof(const char *__nptr);
^~~~
Oops! I meant "Compiler warnings: [All]". That is something you should turn on and leave on. The "Show verbose output" options are better for upload errors.