...char*s[]="rstuv"; printf("%s\n",*s); } 为什么有错?

发布网友 发布时间: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"};
这一句定义了一个指针数组,数组只存储一个指针,就是字符串。
上一个语法错误。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com