c语言问题

刚开始做个开头就遇到了几个错误。求高手告知如何修改。、#include<stdio.h>#include<stdlib.h>#include<string.h>#defi... 刚开始做个开头就遇到了几个错误。求高手告知如何修改。、
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define bool int
#define true 1
#define false 0
bool str_i(char **);
void str_sort(const char *[], int);
void swap( void **p1, void **p2);
void str_out(char *[], int);
const size_t BUFFER_LEN = 256;
const size_t NUM_P = 50;
int main(void)
{
char *pS[NUM_P];
int count = 0;
printf("\nEnter successive lines, pressing Enter at the end of"
" each line.\njust enter to end.\n");
for(count = 0; count < NUM_P ; count++)
if(!str_in(&pS[count]))
break;
str_sort( pS, count);
str_out( pS, count);
return 0;
}
(18) : error C2057: expected constant expression
(18) : error C2466: cannot allocate an array of constant size 0
(18) : error C2133: 'pS' : unknown size
(24) : warning C4018: '<' : signed/unsigned mismatch
(25) : warning C4013: 'str_in' undefined; assuming extern returning int
展开
 我来答
geptvy
2014-07-11 · TA获得超过137个赞
知道答主
回答量:134
采纳率:0%
帮助的人:112万
展开全部
#define bool int
#define true 1
#define false 0
这三个没必要,删了;
bool str_i(char **);

改成bool str_in(char **); 你自己写错了吧
void str_sort(const char *[], int);

里面的const去掉,否则编译通不过

char *pS[NUM_P];

数组不能这样定义,一定要给予一个准确的大小,也就是中括号里面必须是常量;
追问
那三个去掉了的话,我不知道用什么库来声明bool。。貌似标准的那个,我的编译器不支持。
追答
bool是C语言中的关键字啊,编译器不支持?不需要重新定义,那个错误也是这个意思。 如果小写的bool用不了的话,尝试用BOOL看看
取样县L
2014-07-11 · 超过64用户采纳过TA的回答
知道答主
回答量:126
采纳率:0%
帮助的人:119万
展开全部
n 越界了,超过了100.

似乎应当把 n=n+i 改成 n=n+1 或 n++

还有其他问题:建议这样修改:

for(i=0;i<100;i++)
{
setbuf(stdin, NULL); //清空当前输入缓存(连续使用 scanf 时最好这样做)
scanf("%d,%d",&xh[i],&sg[i]);
if(xh[i] == 0 || sg[i] == 0) break;
n=n+1;
sum = sum+sg[i];
}

每输入两个数后回车,如 23,45 回车,
最后输入 0,0 后回车,表示输入完毕
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b191f26bc
2014-07-11 · TA获得超过187个赞
知道答主
回答量:173
采纳率:100%
帮助的人:138万
展开全部
char *pS[NUM_P]; 你的字符串数组只是定义了一个数组,每个元素存放一个指向字符串的指针。
但是 你并没有为其分配内存。这个错误肯定有的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式