gpt4 book ai didi

c - 以下代码在某些设备上会有什么问题?

转载 作者:太空宇宙 更新时间:2023-11-04 08:19:39 25 4
gpt4 key购买 nike

有一段代码:

#include<stdio.h>
int main(void){
char c;
while( (c=getchar()) != EOF){
putchar(c);
}
}

这些代码来自Unix Advanced Programming一书的I/O章,它说代码在某些机器上运行不佳,我试过代码在我的 mac 上,它会运行良好,然后任何人都可以告诉我运行上面的代码时会出现什么问题以及为什么会出现问题,谢谢!


更新:代码来自章节I/O,所以我认为它与I/O操作有关。

最佳答案

  • getchar() 的结果存储到具有 char 类型的变量中是一种不好的做法,因为 EOF 不适合 char 类型。使用 int 很好。
  • 在旧 C 中使用 return 语句不从主函数返回任何值可能会混淆某些系统,例如在线判断并将代码视为运行时错误。你应该在函数的末尾写上return 0;

关于c - 以下代码在某些设备上会有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33983363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com