为什么空 char 类型指针返回“â”作为输出?

问题描述 投票:0回答:1

当我将它与空的 char 变量一起返回时,为什么它现在返回“ä”?

这是我正在编写的代码。

#include <stdio.h>

int main(){
    //Declaring and defining a char array also adding up pointer as its elements 
    /*A char pointer with the stored address returns the value of that address but, an unassigned char pointer returns â as the output
     when I do not use an empty variable but, when I use an empty vairable it returns ä as the output*/
    char *A;
    char B = 'H';
    char *H;
    char C;
    A = &B;
    char arr[10] = {'a','b','c','d',*A,*H,C};

    //Traversing the array
    for(int i=0;i<10;i++)
    {
        printf("%c ",arr[i]);
    }
}

我只是没想到空指针 char 变量中会有这些符号。我只需要对此有一个很好的解释。

arrays c pointers char
1个回答
0
投票

您没有给 H 一个值,因此它指向垃圾(您无法知道有关该值的任何信息)。 C同样是垃圾

© www.soinside.com 2019 - 2024. All rights reserved.