I do not speak english,so i try to show my meaning
When you use command line in debug mode, sizeof("a") //value is 1 sizeof('a') //value is 2 would got wrong value.
seems been upended.
IDE-Version: 礦ision3 V3.53 Copyright (c) Keil Elektronik GmbH / Keil Software, Inc. 1995 - 2007 Tool Version Numbers: Toolchain Path: C:\KeilC51\C51\BIN\ C Compiler: C51.Exe V8.09 Assembler: A51.Exe V8.00d Linker/Locator: BL51.Exe V6.05 Librarian: LIB51.Exe V4.24 Hex Converter: OH51.Exe V2.6 CPU DLL: S8051.DLL V3.12 Dialog DLL: DCYG.DLL V2.44d
What I want to say is "sizeof operator with string or char in command line (which in the uvision3's debug mode)returns wrong value" you can try it in uvision3.
int main(void) { printf("sizeof(\"1234\") = %u\n", (unsigned)sizeof("1234")); }
bulid an exe file,The program works fine. BUT IN DEBUG mode ( when you press "start debug session" buttom,click the "command" option which in the "outputwindow" and key in such as "sizeof("1234")" )it would return 4