编程和C语言新手

bvn4nwqk  于 2023-08-03  发布在  其他
关注(0)|答案(1)|浏览(106)

以下是我的程序:

#include <stdio.h>

int main() {
    int age = 21;
    float cgpa = 8.92;
    char name = "Karan";

    printf("My Name Is %c", name);
    printf("You are %d years old", age);
    printf("My Avg cgpa is %f", cgpa);
    return 0;
}

字符串
我得到这个编译器错误:

hello.c: In function 'main':
hello.c:6:15: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
   char name = "Karan";
               ^~~~~~~

sirbozc5

sirbozc51#

“Karan”是一个字符串文字,而不是单个字符。
字符串字面量在技术上是一个字符数组,保存字符串的变量必须是指向字符数组的指针。

char first_char = 'a';
char second_char = 'b';
printf("First char is %c and second is %c", first_char, second_char);

字符串
单个字符在C中以这种方式存储,其格式说明符为%c
要存储字符串,您需要声明一个char或字符指针数组,这是由

char* name = "Karan";
printf("My name is %s", name);


并且其格式说明符是%s
还要注意,当声明一个字符串时,你使用双引号,而当声明一个字符时,我们使用单引号

相关问题