我在下面尝试过代码,但结果不正确。我认为缓冲区大小的东西可以用错误的方式实现。
{{1}}
答案 0 :(得分:0)
阻止程序提供您期望的结果的两件事
1)使用read
从标准输入(字符)读取并将其存储到(二进制)整数
2)将read
的结果存储到同一个整数中,覆盖存储在1中的(错误)值
查看scanf
或fgets
(atoi
...),读取字符数组(字符串),然后转换字符读入二进制数,例如
char str[20];
fgets(str, 20, stdin);
int s = atoi(str);
read
版
char str[20];
ssize_t nread = read(STDIN_FILENO, str, 20);
int s = atoi(str);