printf(“%s\r\n”,index)打印指针和数组
我在打印printf(“%s\r\n”,*index)和printf(“%s\r\n”,ch[0])时发现打印不出结果,由此编写了这份文档。有不足的地方可以多多指教。
1、char *num=“reference “;
printf(”%s\r\n”,num);
指针方式:num表示字符串“reference ”的首地址。
num表示第一个字符;(num+1)表示第二个字符;…
char num_1[]=“reference_test “;
printf(”%s\r\n”,num_1);
数组方式:num_1表示字符串“reference_test”的首地址。
num_1[0]表示第一个字符;num_1[1]表示第二个字符;…
‘\r’是回车,’\n’是换行,前者使光标到行首,后者使光标下移一格,通常敲一个回车键,即是回车,又是换行(\r\n)~~
int main(void)
{
char *num="reference "
char num_1[]="reference_test"
printf("%s\r\n",num);
printf("%s\r\n",num_1);
return 0;
}
运行结果:
2、
index=ch;将ch数组的首地址赋值给指针变量index,此时index所指的地址是数组ch的首地址。
int main(void)
{
char *index;
char ch[20]="pointers+1test";
int i=0;
printf("指针赋值前的地址:%d\r\n",index);
index=ch;
printf("指针赋值后的地址:%d\r\n",index);
printf("数组的首地址:%d\r\n",ch[]);
printf("str1:%s\r\n",index);//打印指针所指向的字符串
for(i=0;i<10;i++) //将指针指向字符串的第十一个元素
{
*(index++);
}
printf("指针移位后的地址:%d\r\n",index);
printf("数组的第%d的地址:%d\r\n",i+1,&ch[i]);
printf("str2:%s\r\n",index);//打印指针所指向的字符串
printf("str3:%s\r\n",ch);
return 0;
}
运行结果: