การห่อทุกอย่างconst char*ไว้ในวงเล็บควรแก้ปัญหาดังที่แสดงในตัวอย่างต่อไปนี้:
static const char* const stateNames[5] =
{
    ("Init state"),
    ("Run state"),
    ("Pause state")     //comma missing
    ("Pause state3"),
    ("Error state")
};
หากคุณลืมเครื่องหมายจุลภาคคุณจะได้รับข้อผิดพลาดในการรวบรวมคล้ายกับ: error: called object is not a function or function pointer
สาธิตสด
โปรดทราบว่าถ้าคุณลืมเครื่องหมายจุลภาคสิ่งที่เกิดขึ้นจริงคือ C จะเชื่อมสตริงสองตัว (หรือมากกว่า) จนกระทั่งเครื่องหมายจุลภาคถัดไปหรือจุดสิ้นสุดของอาร์เรย์ ตัวอย่างเช่นสมมติว่าคุณลืมเครื่องหมายจุลภาคดังแสดงในรายการต่อไปนี้:
static const char* const stateNames[] =
{
    "Init state",
    "Run state",
    "Pause state" //comma missing
    "Pause state3" //comma missing
    "Error state"
};
int main(void)
{  
    printf("%s\n", stateNames[0]);
    return 0;    
}
นี่คือสิ่งที่gcc-9.2สร้าง (คอมไพเลอร์อื่นสร้างรหัสที่คล้ายกัน):
.LC0:
        .string "Init state"
        .string "Run state"
        .string "Pause statePause state3Error state" ; oooops look what happened
        .quad   .LC0
        .quad   .LC1
        .quad   .LC2
main:
        push    rbp
        mov     rbp, rsp
        mov     eax, OFFSET FLAT:.LC0
        mov     rdi, rax
        call    puts
        mov     eax, 0
        pop     rbp
        ret
เป็นที่ชัดเจนว่าสตริงสามตัวสุดท้ายเรียงต่อกันและอาร์เรย์ไม่ยาวเท่าที่คุณคาดหวัง