Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从“int”到“char”的转换发生溢出更改C_C_Linux_Variables - Fatal编程技术网

从“int”到“char”的转换发生溢出更改C

从“int”到“char”的转换发生溢出更改C,c,linux,variables,C,Linux,Variables,每当我运行此代码时,它都能完美运行: #include<stdio.h> int main() { char a = 's'; printf("Value of a is: %c \n",a); return 0; } 我想从变量a调用Hello World,单引号用于单个字符。在大多数情况下,多个字符不应出现在单引号中。如果需要字符串,则需要双引号 您还需要更改分配给char*的变量的类型,并使用%s打印它 char *a =

每当我运行此代码时,它都能完美运行:

#include<stdio.h>

int main() {

    char a = 's';

    printf("Value of a is: %c \n",a);

    return 0;

}

我想从变量a调用Hello World,单引号用于单个字符。在大多数情况下,多个字符不应出现在单引号中。如果需要字符串,则需要双引号

您还需要更改分配给char*的变量的类型,并使用%s打印它

char *a = "ss";
printf("Value of a is: %s \n",a);

看起来您正在尝试使用字符串而不是字符。一个字符只代表一个字符。如果需要多个字符,则需要一个字符串。在C语言中,字符串由char*表示。所以你可以试试

char *a = "ss";
printf("Value of a is: %s\n", a);
请注意字符串周围的双引号,而不是字符周围的单引号。另请注意格式字符串中的%s而不是%c。

char只能存储一个字符。为了保存字符串,您需要一个字符数组

字符串实际上是以字符串结尾的一维字符数组 空字符“\0”。因此,以null结尾的字符串包含 由后跟null的字符串组成的字符

一段工作代码将是

#include <stdio.h>
int main()
{
    char *a = "Hello World";
    printf("Value of a is: %s \n", a);

    return (0);
}

你认为它对“ss”有什么作用?顾名思义,char意味着只包含一个字符。如果要存储两个字符,通常使用字符串,这是一个字符数组。告诉我值是:ssYou不能在一个字符中存储多个字符。打印Hello World的代码示例
char *a = "ss";
printf("Value of a is: %s\n", a);
#include <stdio.h>
int main()
{
    char *a = "Hello World";
    printf("Value of a is: %s \n", a);

    return (0);
}