C语言用指针为申请空间赋值的问题

2024-12-03 07:26:50
推荐回答(3个)
回答1:

你这程序是啥意思我没看懂,但是有个地方,*word++=c;啥意思?这句的优先级我也不太清楚,但自增的优先级是比赋值要高.但你+和=中间没有空格.如果这个程序没有语法错误.
是这样断句的: *word++ = c;
还有,你那for(;isalpha(c)&&lmt-->0);有while就行了,你那lmt-->0,你的意思是lmt-1要大于0啊?还是比较后把lmt给减1啊?
如果是前者,要用前自增:--lmt>0
后者的话你这样写的程序可读性就大大得降低了.
给你一句话:语法,没错.逻辑,一大堆错.

回答2:

int readword(char *word,int lmt){
char c;
word=(char *)malloc(MAXCHA); //MAXCHA=15你这句最好移动到调用readword的函数那里去使用,这里用达不到效果,因为 你的函数传递过来的word只是一维指针

回答3:

先对齐格式吧。看着太别扭了