在线等待大牛 ,关于指针数组的输入 急急.!!!!!!!!!!!

chlaws 2007-11-30 07:46:07
char *b[4]={"what","is","your","name"};指针数组初始化的时候可以赋值,但除了这之外能不能还有其他形式的整体赋值,让每个指针数组里的元素指向一个字符串.//自己试过其他几种方法都没成功
http://topic.csdn.net/u/20071130/10/89a3e791-99d4-4611-b6a9-c6e30e70395e.html?seed=1048133453
在这60楼里的程序的一个缺点.期待改正中,
//文件a.txt在程序的同一个目录下, 文件里的单词:abs while title name why what how hello direction no ability
//当然,你也可以自己随便写.
...全文
150 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowflakess 2007-12-02
  • 打赏
  • 举报
回复
哈哈 我也来了呀!刚起来,就来到了论坛,别忘了也给我的分噢!^-^.
chlaws 2007-12-02
  • 打赏
  • 举报
回复
刚刚起来上论坛 看到戒指说今天生日,偶就多散点分给你,祝福下 ^_^
chlaws 2007-12-01
  • 打赏
  • 举报
回复
13楼你更搞笑。。。。。
这个不是和我原来的一样么
#define LEN 20
char *b[LEN]={"aaa","bbb","vcsdf","fdf"}
我自己加了个
int i=0,m=0;
whlie(b[i++]!=NULL){m++};
判断指针数组里有几个字符串
pptor 2007-12-01
  • 打赏
  • 举报
回复
char *p[3];
p[0]="23434";
p[1]="hououoo";
p[2]="sfeoiog";
playboy1983 2007-12-01
  • 打赏
  • 举报
回复
等高人
wKernel 2007-11-30
  • 打赏
  • 举报
回复
1楼大牛
chlaws 2007-11-30
  • 打赏
  • 举报
回复
我估计这帖的问题问的不好
^_^ 两个裤衩了, 为了庆祝有两个裤衩可以相互换换,将开帖散分
chlaws 2007-11-30
  • 打赏
  • 举报
回复
回6楼...帖子上已说明 请仔细看帖........
8楼的 算是吧种思路吧,曾想过 用while 加个判断 输入字符串给一个数组,然后让指针数组指向下, 不过没成功
skywarship 2007-11-30
  • 打赏
  • 举报
回复
strtok(分割字符串)

相关函数 index,memchr,rindex,strpbrk,strsep,strspn,strstr

表头文件 #include<string.h>

定义函数 char * strtok(char *s,const char *delim);

函数说明 strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串,
当strtok()在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为\0 字符。在第一次
调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回
下一个分割后的字符串指针。

返回值 返回下一个分割后的字符串指针,如果已无从分割则返回NULL。

范例

#include<string.h>
main()
{
char s[]="ab-cd : ef;gh :i-jkl;mnop;qrs-tu: vwx-y;z";
char *delim="-: ";
char *p;
printf("%s ";strtok(s,delim));
while((p=strtok(NULL,delim)))printf("%s ",p);
printf("\n");
}

执行
ab cd ef;gh i jkl;mnop;qrs tu vwx y;z /*-与:字符已经被\0 字符取代*/
skywarship 2007-11-30
  • 打赏
  • 举报
回复
用strtok对输入句子进行分词,放到数组中
xalangying 2007-11-30
  • 打赏
  • 举报
回复
怎么才是完美,你根本就没有说,你也没有说那个程序的一个缺点是什么
chlaws 2007-11-30
  • 打赏
  • 举报
回复
-_-! 相当的郁闷.
飞哥 2007-11-30
  • 打赏
  • 举报
回复
暂时不知道完美的解决方案
chlaws 2007-11-30
  • 打赏
  • 举报
回复
Treazy 你的方法不是和我的一样么....
我也是这样做的,可是别人题目要求是就不是这样了,输入句子是随意的,我就差了点这, 那程序就完美了.
2楼的,你的方法不好.相当与没说
xalangying 2007-11-30
  • 打赏
  • 举报
回复
c/c++数组不可以赋值,只能初始化,没其它的方法了,写个循环或函数吧
那个程序没什么错误,你说的缺点是不是不能正确处理后面还有空格或换行的文件,是的话你可以
在read中的fscanf( fp, "%s", &p1->a ); 后加上
if(isspace(*p1->a))
{
break;
}

前面还要加上这个
#include <ctype.h>
Treazy 2007-11-30
  • 打赏
  • 举报
回复


typedef struct
{
char *p[3];
}STU;

int main()
{
STU stu = {NULL, NULL, NULL}; //初始化为空指针
STU str = {"1", "2", "3"}; //可修改的字符串
... //可对str作修改
stu = str; //整体赋值
return 0;
}

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧