C语言中的这个赋值语句是什么意思?

char * p = str; *p++ = ✀0✀; *p++ = ✀x✀;
2024-12-03 13:50:14
推荐回答(5个)
回答1:

原字符串为:abc
指针赋值为:0xc
指针所在位置:c
Press any key to continue //这个看了就明白了

#include "stdio.h"
#include "string.h"

main()
{
char str[]="abc";

printf("原字符串为:%s\n",str);
char * p = str;

*p++ = '0'; 将所指的字符下标为0位置赋值为字符0 指针++ 指向下标为1
*p++ = 'x'; 将所指的字符下标为1位置赋值为字符x 指针++向后移 指向下标2
printf("指针赋值为:%s\n",str);
printf("指针所在位置:%c\n",*p);
}

回答2:

将str的第一个和第二个字符赋值成"0x"
同时p指向第三个字符。
即等效于
str[0] = '0';
str[1] = 'x';
p=&str[2];

回答3:

p是一个字符指针,指向str,str可能是一个数组或者指针。
*p++ = '0';//就是先把字符'0'赋给指针p指向的位置,然后p指针后移。也可以改成赋值ASCII码形式:*p++ = 48.
*p++ = 'x';//跟上面一句是一样的。

回答4:

就是赋值STR为0X
p首先指向str然后p赋值为0,p后移,再赋值为X,再后移。。P指向X后面一个元素的位置
备注:后置加,语句执行以后再自加。。

回答5:

*p++ = '0'; 将str下标为0位置赋值为字符0,p加1就指向了数组下标为1的位置
*p++ = 'x'; 将str下标为1位置赋值为字符x,p加1就指向了数组下标为2的位置