Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 为什么下面的程序打印1而不是我输入的内容?_C_Printf_Scanf - Fatal编程技术网

C 为什么下面的程序打印1而不是我输入的内容?

C 为什么下面的程序打印1而不是我输入的内容?,c,printf,scanf,C,Printf,Scanf,我最近完成了这项任务,其代码如下: #include <stdio.h> void main() { int i; printf("%d", scanf("%d",&i)); } 根据, 这些函数返回成功匹配和分配的输入项的数量,该数量可以少于提供的数量,如果早期匹配失败,甚至可以为零 因此,它返回成功匹配并存储的项目数,而不是它扫描的值,在您的情况下,该值恰好为1。然后,printf打印该值 也就是说,对于托管环境,void main至少应该是int mainvo

我最近完成了这项任务,其代码如下:

#include <stdio.h>
void main()
{
  int i;
  printf("%d", scanf("%d",&i));
}
根据,

这些函数返回成功匹配和分配的输入项的数量,该数量可以少于提供的数量,如果早期匹配失败,甚至可以为零

因此,它返回成功匹配并存储的项目数,而不是它扫描的值,在您的情况下,该值恰好为1。然后,printf打印该值


也就是说,对于托管环境,void main至少应该是int mainvoid。

这是因为成功执行时scanf返回1。 如果你想打印“我”就这样做

包括 真空总管 {     ;国际一级;    扫描%d,i &打印F%d,i; }

因为scanf返回成功的读取输入,在这种情况下,1不要使用void main!使用int main@roberts supportsmonicacellio更好,int mainvoid。成功执行时返回1,在本例中为是,但您的陈述有误导性。你应该阅读@Sourav Ghosh的答案