小编Joe*_*ham的帖子

具有多个条件的if的执行顺序

在具有多个条件的if语句中,如果第一个条件的结果清楚,则执行第二个条件吗?

例:

if(i>0 && array[i]==0){
}
Run Code Online (Sandbox Code Playgroud)

如果我交换条件,则i的负值可能会发生段错误,但这样就不会发生段错误.我可以确定这总是有效或者必须使用嵌套的if语句吗?

c

55
推荐指数
3
解决办法
8万
查看次数

为什么可以同时在TCP和UDP上使用相同的端口?

我在搜索时看到,可以在同一台计算机上使用两个不同的程序,使用相同的端口和相同的网络接口通过网络进行通信,前提是使用UDP和另一个TCP.但是我没有得到一个很好的解释,它是如何实际工作的以及为什么这是可能的?

多个程序是否也可以使用相同的UDP端口,因为UDP不会在对等体之间建立真正的连接,而只是将数据包发送到一个地址?我知道TCP不可能,因为它在服务器和客户端之间创建了一个同步连接,但UDP怎么样?

如果可能,请详细说明,或链接一篇关于该主题的好文章.

port networking udp tcp network-protocols

9
推荐指数
2
解决办法
8585
查看次数

EOF是否设置错误?

我一直在努力处理系统调用的返回值 - 它们只是如此不一致!通常我检查它们是否为NULL或-1然后调用perror.但是,对于fgets,手册页说:

gets()fgets()返回如果成功,就和NULL对错误或者虽然没有字符被读取时的文件结束.

这意味着返回值NULL不一定是错误 - 它也可以是EOF.到达文件末尾时是否设置了错误?perror在这种情况下我还能打电话吗?

如果不是,通常的方法是判断调用是否返回错误与EOF.我想使用perrorNULL字符串表示错误,并使用自定义字符串表示EOF.

c unix system-calls

4
推荐指数
1
解决办法
2030
查看次数

标签 统计

c ×2

network-protocols ×1

networking ×1

port ×1

system-calls ×1

tcp ×1

udp ×1

unix ×1