int main()
{
char*str = "www.dotcpp.com";
printf("str=%x,*str=%c", str, *str);
}
打印出的结果为
str=1e7e9c28,*str=w
想知道怎么样可以通过指针变量打印字符串
用printf()函数的%s格式说明符。
int main() {
char* str = "www.dotcpp.com";
printf("str=%s\n", str); // 使用%s打印字符串
return 0;
}
该回答内容部分引用GPT,GPT_Pro更好的解决问题
可以通过指针变量打印字符串,原理是把字符串放到内存中,然后用指针指向这个内存地址,最后遍历该指针指向的内存地址,就可以输出该指针指向的字符串信息。
具体的步骤如下:
char str[10] = "Hello"; // 定义一个字符数组,用来存储要输出的字符串
char *p = str; // 定义一个指针变量,并把该变量指向上述定义的字符数组
while(*p != '\0') // 遍历该指针变量指向的内存地址,直到遇到'\0'为止
{
printf("%c", *p); // 输出当前内存地址中的字符
p++; // 指针变量 + 1
}
以上就是通过指针变量打印字符串的方法,其中最关键的就是使用指针变量来遍历要输出的内容。当然我们也可以使用其他方式,如for循环、while循环等。printf("str=%x,*str=%c", str, str);//%x以十六进制方式输出指针具体的值,str=%c只是输出字符串的首个元素,正确输出方式可用printf("str=%s\n", str);