C语言printf()输出指向字符串的指针值的方法

printf()输出字符串指针值

C语言中,字符串通常指的是是一个元素为字符的数组,而数组一般又可以表示为指向数组第一个元素的指针,那么该如何使用printf()和%s格式化符号,并通过指向字符串的指针来格式化输出字符串呢,比如下面的这个代码,虽然包含了这三个模块,但并不能有效地输出字符串(至少在鄙人的操作系统和编译器上是这样的):

#include "stdio.h"

int main() {
    char xyz[10] = {'H','e','l','l','o','\0'};
    char *ptr = xyz;
    printf("%s\n",*ptr);
    
    return 0;

}

那该怎么办呢?

解决方法

将printf()中的指针的"*"去掉即可,最后的代码如下:

#include "stdio.h"

int main() {
    char xyz[10] = {'H','e','l','l','o','\0'};
    char *ptr = xyz;
    printf("%s\n",ptr);
    
    return 0;

}

代码编译运行后,输出值为:Hello

免责声明:内容仅供参考,不保证正确性。


全栈后端 / C语言教程 :


















Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.