This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

The "sizeof operator with string" bug when use command line in "output window"

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

Parents
  • 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

Reply
  • 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

Children
No data