process returned -1073741819 <0xC0000005>

0

i am a beginner to coding and learning c language as my first step. when i use string function the program returns with a value without showing output. using minGW as compiler

i tried to add string.h header folder string from below follows code

''''
#include <stdio.h>
#include <conio.h>

int main()
{
    /*
    int strlen(string);
    */
    char name = { 's','i','l','a','m','\0' };

    int length;

    length = strlen(name);
    printf("the length of %s is %d\n", name, length);

    getch();
    return 0;
}
'''

code ends here

expected to to print length of the char name but it crashes as in build log "Process terminated with status -1073741819 " in build messages warning: passing argument 1 of 'strlen' makes pointer from integer without a cast [-Wint-conversion]| note: expected 'const char *' but argument is of type 'char'|

thanking you for looking into

c
windows
asked on Stack Overflow Jan 27, 2019 by silambu • edited Jan 27, 2019 by silambu

2 Answers

2

You declare name as a char yet you treat it like an array. To declare name as a char array, use:

char name[] = { 's','i','l','a','m','\0' };

Also since you reference the function strlen(), you must add the header file:

#include <string.h>
answered on Stack Overflow Jan 27, 2019 by machine_1 • edited Jan 27, 2019 by machine_1
0

Enjoy:

#include <stdio.h>
#include <string.h>

int main()
{
    // single char can't store that string
    // so we have to declare an array of chars
    char name[] = {'s', 'i', 'l', 'a', 'm', '\0'}; 
    // also we can use string literal syntax:
    // char name[] = "silam";
    int length = strlen(name);
    printf("the length of %s is %d\n", name, length);
    getc(stdin);
    // i don't have <conio.h> so i call 'getc' instead of 'getch'
    return 0;
}
answered on Stack Overflow Jan 27, 2019 by Alex Python

User contributions licensed under CC BY-SA 3.0