C++ 什么是char*x=";“极客问答”;意思是
我对编程相当陌生。我经常看到这个宣言。 比如说:C++ 什么是char*x=";“极客问答”;意思是,c++,c,pointers,C++,C,Pointers,我对编程相当陌生。我经常看到这个宣言。 比如说: char*x=“geeksquick” 这是否意味着x保存字符串第一个元素的地址,即字符“g” 如果是,那么考虑下面的例子: char *str1 = "geeks"; char *str2 = "forgeeks"; printf("str1 is %s, str2 is %s", str1, str2); 输出为: str1是极客,str2是伪造的 为什么printf语句打印str1是极客,而str2是伪造的,如果它们分别持有地址的话?
char*x=“geeksquick”代码>
这是否意味着x保存字符串第一个元素的地址,即字符“g”
如果是,那么考虑下面的例子:
char *str1 = "geeks";
char *str2 = "forgeeks";
printf("str1 is %s, str2 is %s", str1, str2);
输出为:
str1是极客,str2是伪造的
为什么printf语句打印str1是极客,而str2是伪造的,如果它们分别持有地址的话?或者是占位符%s指示printf打印字符串文字?如果在c语言中使用此占位符,则x保留字符串第一个字符“g”的地址。您可以使用此代码打印它
#include<stdio.h>
int main(){
char *x="geeksquiz";
printf("%c",*x);
return 0;
}
#包括
int main(){
char*x=“geeksquick”;
printf(“%c”,*x);
返回0;
}
产出:g
这是否意味着x保存字符串第一个元素的地址,即字符“g”
对
是占位符%s指示printf打印字符串文字吗
对
更具体地说,%s不限于字符串文字。它用于打印以null结尾的srings,即字符串文字。另外,它被称为格式说明符
考虑到您已经使用了标记,请注意表达式char*x=“geeksquick”代码>在C++中不正确。在C++中,字符串文字是const char数组,它不衰减到非conchar指针。它在C语言中格式良好,因为在该语言中字符串文字是非常量。Yes。但是这不再是有效的C++。你在哪里遇到它?在你的C++书籍中?这是哪本书?轨道评论中伴随Lightness Races的强制抢占链接如果我需要打印字符串的其他字符,可能会重复什么?如果你想打印字符串的其他字符,那么增加指针如果你想打印第二个字符,那么写printf(“%c”,*(x+1);