指针与字符串,大佬们帮忙看看为什么没有输出结果
//多个字符串逆序输出#include "stdio.h"
#include "string.h"
int main ()
{
char *str = {"china","is","exceedingly","powerful","country"};//定义一个数组元素
char *(*p)=&str; //定义一个指针去指向数组的首地址
int i,j,k,length;
char temp;
//逆序存放
for(i=0;i<5;i++)
{
//计算每一个字符串的长度
k = strlen(str)-1;
for(j=0;j<k;j++,k--)//读取字符串中的字符,并交换顺序
{
temp = (*p);
(*p) = (*p);
(*p) = temp;
}
}
printf("The invert string is :\n");
for(i=0;i<5;i++)
{ //字符串逆序输出
for(j=0;(*p)!='\0';j++)
{
printf("%c",(*p));
}
printf("\n");
}
return 0;
} for(j=0;(*p)!='\0';j++)
你j早越界了 万千只cnm 发表于 2021-8-31 14:02
你j早越界了
emmmm,不是太懂,应该怎么改 啊 张三ccccccc 发表于 2021-8-31 14:31
emmmm,不是太懂,应该怎么改 啊
哦 我知道了
你这是指向常量的指针
指针数组,里面的字符串放在静态区 ,相当于const char
不能改变字符,赋值当然也会错
页:
[1]