C语言 char *p="abcde"; printf("%s",p);正确;;;char *p="abcde"; pr...
发布网友
发布时间:2022-06-10 02:12
我来回答
共3个回答
热心网友
时间:2024-04-17 19:00
语句printf("%s",*p);会出错,因为%s表示输出字符串,而*p则是指向的字符串的第一个字符,请改成printf("%c",*p);则输出a,改成printf("%d",*p);则输出97,
原因分析:
char *p="abcde",则字符指针p指向字符串,p的值就是字符串首字符的地址,*p就是第一个字符。
热心网友
时间:2024-04-17 19:07
你好,%s对应的是字符串的地址,p是指针,p的值是"abcde"的首地址。*p是一个char值就是'a'即97,显然指向内存地址为97的内存,所以就崩了。
热心网友
时间:2024-04-17 19:01
因为这里的p是字符串abcde的首地址。而*p是指向字符串首地址的变量。输出%s即字符串当然要用首地址了
...*p="abcde"; printf("%s",p);正确;;;char *p="abcde"; printf...
语句printf("%s",*p);会出错,因为%s表示输出字符串,而*p则是指向的字符串的第一个字符,请改成printf("%c",*p);则输出a,改成printf("%d",*p);则输出97,原因分析:char *p="abcde",则字符指针p指向字符串,p的值就是字符串首字符的地址,*p就是第一个字符。
...指针上分别赋值一个字符串,为什么不能用strcat()、strcpy()?_百度...
在C语言中,字符串属于常量,是只读的。char *p="abcdefg"; // 使得p指向字符串"abcdefg"的首地址 char *q="ab"; // 使得q指向字符串"ab"的首地址 因为字符串"abcdefg"、"ab"是常量、只读的,所以通过p、q移动访问它们没有问题,但是不能修改。strcat(p,q);试图通过p修改字符串常量"abcdefg...
我想知道C语言里面这句话,编译器背后都做了什么。char *p=...
C/C 编译的程序占用的内存分为5个区,分别是栈区,堆区,静态区,文字常量区,程序代码区。 上面那个语句的话,如果p是全局变量,那首先编译器会在静态区空出4字节区域作为p变量,然后从文字常量区获取适量长度的空间存放后面字符串。如果p是局部变量则p在栈区,后面一样。 要使用delete释放内存的是...
char a[]="ABCDE"; char *p=UNLL; for(p=a;p<a+5;p++) { printf("%s\...
如果想按你的要求输出那么%s换成%c,p改为*p即可 如果你定义char *p="abcde";printf("%s",p);printf("%s",p+1);分别输出的是abcde 和bcde
...结果是( )。 char *p="abcdefgh"; p+=3; printf("%d\n",strlen(str...
将ABCD赋值个p,他们之间是怎么赋值的呢,让p指针指向“A”的地址,如果取值的话就*P拿到A了。这个函数返回的值是目标串的地址,也就是p啦,那么p是个指针怎么算地址的长度呢,其实就是strlen("ABCD")啦,为什么,计算机知道的啦,因为p指向了“ABCD”首地址了,而c语言中默认在ABCD后加个结束符的...
C语言 main() {char a[]={"ABCDE"}; char *p=a; *(p+2)+=2; printf...
因为p+2指向a[2],然后+=2,所以a[2]的值变为E。p+1指向a[1],输出是从a[1]开始输出字符串,所以答案是 BEDE
C语言指针与字符串的问题,char **p={"abc","defg","hijkl"};怎么把大...
(p+2)相当于维数组a[6]="defg";*(p+2)=a;想获取f可以用表达式*(*(p+1)+2),或者p[1][2],其实是一样的;但是我觉得你这种定义不能通过编译的,二维数组初始化的时候可以用大括号,指针只能指向指定的内存,你定义char **这种类型就算定义成功了那p+1又该指向哪儿?这个是一个很纠结的...
char *p; scanf("%s",p); 请问这样赋值字符串对不对
不对,*p是字符型指针,只能在定义的时候赋值,你用scanf在执行程序的时候给它赋值就错了;字符型数组可以那样,指针不可以
char *p; p="abcd";cout<<p<<endl;
其实p是指向字符串第一个字符'a'的地址,*p就是'a',cout就是将p指向的内存值打印出来,直到遇到'\0',因此将字符串打印了出来
关于c语言char的用法问题 假如 char = 'a'; char *p[] ="abc","d
指针是可以直接来指向一个字符串的,用法是char *p="good。指针型数组中每个元素都是指针,则每个元素都可以去定义一个字符串或者是定义一个变量;所以如果有一个a[4][4]={"aaa","bbb","ccc","ddd"}; 现在就可以用char *p[4]={"aaa","bbb","ccc","ddd"}; 这样的好处是节约了空间,...