据我所知,它必须打印所有字符及其各自的地址,但事实并非如此。
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
char *name;
int length;
char *cptr;
cptr = name;
name = "DELHI";
printf("%s\n",name);
while(*cptr!='\0')
{
printf("%c-%d\n",*cptr,cptr);
cptr=cptr+1;
}
return 0;
}
答案 0 :(得分:2)
这不符合你的想法
cptr = name;
name = "DELHI";
将其更改为此
name = "DELHI";
cptr = name;
现在你很高兴。
在第一种情况下,您将cptr设置为指向name所在的位置,然后将名称指向常量。 cptr指向一些随机位置名称指向常量。
在第二种情况下,他们都指向常数。