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这意味着您的编译失败。