发布网友 发布时间:2024-10-24 06:39
共3个回答
热心网友 时间:2024-10-29 09:47
你这个错 是弄错了 数组的赋值 数组定义的格式
char *s 这里是一个 指针数组。
加入 定义 char *s[3] 则 我们知道 s 有三个元素。 每个元素 都可以指向一个字符串。 s[0] s[1] s[2] 等 都可以指向字符串
我们一维数组有一种 定义形式是这样的: int data[]={1,2,3,4,5} 和int data[5]={1,2,3,4,5} 是等价的。
有上面我们知道 int data[]={1,2,3,4,5} 这样是通过 {} 内确定个数的。这里char*s[]="rstuv";
应该是 char*s[]={"rstuv"} s 只有一个元素 指向 rstuv
你可以把程序改成这样就可以知道了
#include<stdio.h>
void main()
{
char*s[5];
s[0]="rstuv";
printf("%s\n",*s);
}
只是 定义规定就这样 ;char*s[]="rstuv"; 这样是种错误的定义形式。
热心网友 时间:2024-10-29 09:53
...................../
热心网友 时间:2024-10-29 09:48
char*s[]={"rstuv"};
这一句定义了一个指针数组,数组只存储一个指针,就是字符串。
上一个语法错误。