C语言 select函数,第一个参数,为什么需要最大文件描述符加1
因为文件描述符是从0 开始的。 0 1 2。。。。。最大文件描述符是2, 但是实际上监听的文件描述符是3个
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、重庆小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了广水免费建站欢迎大家使用!
C语言,写一个函数select(int n, double a[], double b[], double x)?
int select(int n, double a[], double b[], double x) //函数的返回值是数组a 中大于等于x 的数的个数
{int i,k=0;
for(i=0;in;i++)
if(b[i]=x)a[k++]=b[i];
return k;
}
或:
int select(int n, double a[], double b[], double x) //函数的返回值是数组a 中大于等于x 的数的个数
{double *p,*q;
for(p=a,q=b;pb+n;p++)
if(*p=x)*q++=*p;
return p-a;
}
linux C语言select函数怎么不能实现sleep呀?
我修改了一下,运行一下试试,祝你好运:
#include stdio.h
#include sys/select.h
#include sys/time.h
#include sys/types.h
#include unistd.h
#include errno.h
#include string.h
int main()
{
struct timeval tv;
int i =0;
while( i++ 10)
{
tv.tv_sec = 1;
tv.tv_usec = 0;
printf("%d\n", i);
fflush(stdout);
int ret = select (0, NULL, NULL, NULL, tv);
if (ret == -1)
{
fprintf (stdout, "select error . errno=%d [%s]\n", errno, strerror(errno));
break;
}
//sleep(1);
//usleep(1000000);
}
return 0;
}
C语言问题
二、填空题
1. 以下程序输出的结果是__0______ 。
main()
{ int a=5,b=4,c=3,d;
d=(abc);
printf("%d\n",d);
}
2. 以下程序输出的结果是___i=3,j=3,k=2_____ 。
#includestdio.h
main()
{ int i,j,k,a=2,b=3;
i=(a++==--b)?a++:--b;
j=--a;k=b++;
printf("i=%d,j=%d, k=%d\n",i,j,k);
}
三、编程题
1. 给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。
#includestdio.h
void mian()
{
int score;
scanf("%d",score);
if(score 60)
putchar('E');
else if(score = 60 score 70)
putchar('D');
else if(score = 70 score 80)
putchar('C');
else if(score = 80 score 90)
putchar('B');
else (score =90)
putchar('A');
}
2. 给一个不多于5位的正整数,要求:(1)求出它是几位数;(2)分别打印出每一位数字;
#include stdio.h
void main()
{
int num,a,count =0;
scanf("%d",num);
do{
a= num % 10;
printf("%d\n",a);
count++;
}while(num /= 10);
printf("%d",count);
}
二、填空题
1. 程序运行后输出的结果是:____0122____。
main()
{ int i;
for(i=0;i3;i++)
switch(i)
{ case 1: printf("%d",i); break;
case 2: printf("%d",i);
default: printf("%d",i);
}
}
2. 下面程序运行后输出的结果是:__sum= 9______。
main( )
{ int j, sum=0;
for(j=1;j10;j++)
{ sum=0;
sum=sum+j;
}
printf(“sum=%2d”, sum);
}
三、编程题
1. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=13+53+33。
#include stdio.h
void main(){
int i,j,k;
for(i=1;i10;i++)
for(j=0;j10;j++)
for(k=0;k10;k++)
if( (i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))
printf("%d%d%d ",i,j,k);
}
二、填空题
1. 以下程序的输出结果是_abc_______ 。
main()
{ char s[]="abcdef";
s[3]=‘\0';
printf("%s\n",s); }
2. 以下程序中,select 函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。
#define N 3
#define M 3
select(int a[N][M],int *n)
{ int i,j,row=1,colum=1;
for(i=0;i for(j=0;j if(a[i][j]a[row][colum]){row=i;colum=j;}
*n= ________;
return ________;
}
main()
{int a[N][M]={9,11,23,6,1,15,9,17,20},max,n;
max=select(a,n);
printf("max=%d,line=%d\n",max,n);
}
3. 以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。例如,输入字符串:abc123edf456gh,执行程序后输出:123456。请填空。
#include
#include
main()
{ char s[80], d[80]; int i,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if( ________ ) { d[j]=s[i]; j++; }
d[j]='\0';
puts(d);}
三、编程题
1. 用筛选法求100之内的素数。
分享标题:c语言select函数,c++ select函数
标题来源:http://lswzjz.com/article/dsihpeg.html