C语言编程。谁帮忙看看我的代码哪里有错误

编译没有错误,可是运行就是得不到结果#include<sys/types.h>#include<sys/socket.h>#include<string.h>#inclu... 编译没有错误,可是运行就是得不到结果
#include <sys/types.h>
#include <sys/socket.h>
#include <string.h>
#include <netinet/in.h>
#include <stdio.h>
#include <stdlib.h>

#define BUFFER 800
#define SERV_PORT 3333

int main()
{
int sockfd,n;
socklen_t len;
socklen_t src_len;
struct sockaddr_in servaddr, cliaddr;
char msg[BUFFER];
sockfd = socket(AF_INET, SOCK_DGRAM, 0); /*创建一个socket */

/* init servaddr */
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(SERV_PORT);

/* 地址和端口绑定到套接字 */
if(bind(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) == -1)
{
perror("bind error");
exit(1);
}
src_len = sizeof(cliaddr);

while(1)
{
if(recvfrom(sockfd, msg, BUFFER, 0, (struct sockaddr *)&cliaddr, &src_len)< 0)
{
perror("receive error!\n");
exit(0);
}
len = strlen(msg);
}
return 0;
}
展开
 我来答
vasue25
2010-12-24 · TA获得超过528个赞
知道答主
回答量:306
采纳率:100%
帮助的人:0
展开全部
#include <stdio.h>
#define N 5
#define MALE 0
#define FEMALE 1
struct part{
char name[20];
int sex;
int number;
int mark;
}stu[N];

int num_parts = 0;

void insert(void);
void rein(void);
void show(void);
void average1(void);
void average2(int s);
void average(void);
void divide(void);
int find_part(int n);

main(){

char con;
while(1){
printf("i=insert r=rein v=show a=average d=divide o=exit\n");
con=getchar();
switch(con){
case 'i':{insert();
break;}
case 'r':{rein();
break;}
case 'v':{show();
break;}
case 'a':{average();
break;}
case 'd':{divide();
break;}
case 'o':
return 0;
default:printf("输入错误");
}
}
}
int find_part(int n){
int i;
for(i=0;i<N;i++)
if(stu[i].number == n)
return i;
return -1;
}
void insert(void){
int part_number;
if(num_parts == N) {
printf("Database is full; can't add more parts.\n");
return;
}
printf("Enter the number:");
scanf("%d", &part_number);
if( find_part(part_number) >=0 ) {
printf("Part already exists.\n");
return;
}
stu[num_parts].number = part_number;
printf("Enter the student's name: ");
scanf(" %s", stu[num_parts].name);
printf("Enter the sex: ");
scanf("%d", &stu[num_parts].sex);
printf("Enter the mark: ");
scanf("%d", &stu[num_parts].mark);
num_parts++;
}

void rein(void){
int i,number,change;
printf("Enter part number:");
scanf("%d", &number);
i = find_part(number);
if ( i >= 0) {
printf("Enter change in mark: ");
scanf("%d", &change);
stu[i].mark = change;
}else{
printf("Part not found.\n");
}
}
void show(void){
int i;
char ss=getchar();
switch(ss){
case 'a':{
for(i=0;i<N;i++)
printf("%s\n%d\n",stu[i].name,stu[i].mark);
break;
}
case 's':{
int num;
printf("Input the number:");
scanf("%d",&num);
for(i=0;i<N;i++){
if(stu[i].number==num)
printf("%s\n%d\n",stu[i].name,stu[i].mark);

}
break;
}
}
}
void average1(void){
int i;
int sum=0;
for(i=0;i<N;i++)
sum+=stu[i].mark;
printf("平均分为:%d\n",sum/N);
}
void average2(int s){
int i;
int sum=0,n=0;
for(i=0;i<N;i++){
if(stu[i].sex==s){
sum+=stu[i].mark;
n++;
}
printf("平均分为:%d\n",sum/n);
}
}
void average(void){
char subcon;
int m=MALE,n=FEMALE;
printf("请选择:a(All),m(Male),f(Female)\n");
subcon=getchar();
switch(subcon){
case 'a':
case 'm':
case 'f':
default:printf("输入错误\n");
}
}
void divide(void){
int i;
int x,y;
int n;
scanf("%d%d",&x,&y);
for(i=0;i<N;i++){
if(stu[i].mark>=x&&stu[i].mark<=y){
printf("%s ",stu[i].name);
n++;
}
}
printf("成绩在%d与%d之间的人数为:%d",x,y,n);
}
racebeyond0399
2010-12-24 · TA获得超过270个赞
知道小有建树答主
回答量:178
采纳率:0%
帮助的人:63.8万
展开全部
看一下初始化文件!
还有其它硬件设置吧!
程序编译没错,不代表运行就没问题!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式