【C语言基础】使用printf没有输出内容
使用printf没有输出内容因为没有添加换行符\n。
一、问题代码
函数功能主要是socket接收消息,故使用while(true)等候接收。
while (true) {
recvfrom(); // (伪代码)等候接收消息
printf("一些接收到的数据\n"); // ①处
if (data == 0) {
printf("1111"); // ②处
}
else if (data == 1) {
printf("2222"); // ②处
}
else {
printf("else"); // ②处
}
}
二、发现原因
测试:
- 连续发送了两次通信数据,发现第二次通信前输出了第一次通信的②处的printf行。类似:
一些接收到的数据
1111一些接收到的数据
- debug打断点时能走通这几个②处的printf行。
而后猛然想到printf应添加换行符\n才能输出。
printf("1111\n"); // ②处