我的下面的小程序应该从用户那里获取5个数字,然后将它们存储起来 一个整数数组并使用函数将它们打印出来。真诚地,它不起作用 我的输出总是“00000”。我找不到错误,所以我很乐意提出任何建议。感谢。
#include <stdio.h>
void printarray(int intarray[], int n)
{
int i;
for(i = 0; i < n; i ++)
{
printf("%d", intarray[i]);
}
}
int main ()
{
const int n = 5;
int temp = 0;
int i;
int intarray [n];
char check;
printf("Please type in your numbers!\n");
for(i = 0; i < n; i ++)
{
printf("");
scanf("&d", &temp);
intarray[i] = temp;
getchar();
getchar();
}
printf("Do you want to print them out? (yes/no): ");
scanf("%c", &check);
if (check == 'y')
printarray(intarray, n);
getchar();
getchar();
return 0;
}
答案 0 :(得分:5)
您的%d
格式字符串中需要&d
,而不是scanf()
。这个bug很容易通过使用debugger来识别 - 我建议学习如何使用与开发系统其余部分最合适的方法。
打开更多警告的编译也可能已经检测到这个。像“太多的格式参数”之类的东西。