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
免责声明:内容仅供参考,不保证正确性。