Pau*_*aul 1 c arrays scanf while-loop
我对编程和学习基础知识完全陌生.我无法弄清楚我的输出发生了什么.请帮忙.
这是我的代码(在mac上使用xcode)
// C Programing
// Program 6C: Basic While loop Example 2
// In this program we will demonstrate the use of basic while loop
#include <stdio.h>
int main()
{
int values = 1;
int count = 1;
int value_array[values];
printf("Please enter how many values you have: ");
scanf("%d", &values);
printf("You entered %d values.\n",values);
while (count <= values)
{
printf("Please enter your %d\n value: ", count);
scanf("%d", &value_array[count]);
count++;
}
count = 1;
while (count <= values)
{
printf("For the %d value you entered %d.\n", count, value_array[count]);
count++;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是我的输出(不知道为什么我输入的一些值为31)
请输入您拥有的值:10
您输入了10个值.
请输入您的1值:1
请输入您的2值:2
请输入您的3值:3
请输入您的4值:4
请输入您的5值:5
请输入您的6值:6
请输入您的7值:7
请输入您的8值:8
请输入您的9值:9
请输入您的10值:10输入您输入
的1值1.输入
的2值2.输入
的3值3.输入
的4值4.
对于您输入的5值5.
对于您输入的6值31.
对于您输入的7值1.
对于您输入的8值31
对于您输入的9值9.
对于您输入的10值10.
程序以退出代码结束:0
我认为我做的一切都是对
你的数组已经结束了.这个:
int values = 1;
int value_array[values];
Run Code Online (Sandbox Code Playgroud)
创建一个单元素数组,但是然后将其视为一个10元素数组(或更多).这会调用"未定义的行为",这基本上意味着所有的赌注都关闭,程序可能会做任何事情.
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |