Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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 为什么赢了';这个程序不能给我想要的输出吗?_C_Printf - Fatal编程技术网

C 为什么赢了';这个程序不能给我想要的输出吗?

C 为什么赢了';这个程序不能给我想要的输出吗?,c,printf,C,Printf,我写了这个简单的代码,这样我就可以看到我所写的更复杂的程序有什么问题了 #include<stdio.h> int main() { int n = 0, i = 1, a = 0; scanf("%d", &n); while (i <= n) { scanf(" %d", &a); printf("%d", &a); i++; } } #包括 int main(

我写了这个简单的代码,这样我就可以看到我所写的更复杂的程序有什么问题了

#include<stdio.h>
int main()
{
    int n = 0, i = 1, a = 0;
    scanf("%d", &n);
    while (i <= n)
    {
        scanf(" %d", &a);
        printf("%d", &a);
        i++;
    }
}
#包括
int main()
{
int n=0,i=1,a=0;
scanf(“%d”和“&n”);
而(i在您的代码中

 printf("%d", &a);
应该是

printf("%d", a); // don;t print address....
FWIW,将地址(指针类型)作为参数传递给
%d
是不匹配的,当您使用
printf(“%d”和&a);

这意味着它将打印
a

要打印
a
的值,您必须

printf(“%d”,a);


进行更改后,编译程序并尝试重新运行:)

a
的地址而不是其值传递给
printf
。还应输出换行符以分隔数字:

printf("%d\n", a);

没问题,它正在做它被要求做的事情。你正在调用UB,顺便说一句。我修复了这个问题,但是现在当我想运行程序时,会发生以下情况:C:/TDM-GCC-64/bin/。/lib/GCC/x86_64-w64-mingw32/5.1.0/。/../../../../../x86_64-w64-mingw32/bin/ld.exe:无法打开输出文件a.exe:权限被拒绝collect2.exe:错误:ld返回1退出status@ShabnamSheikhha这意味着您的编译失败。