请问大神,除了一个一个输入,还有什么办法?
追答额。我不是大神,就是个菜鸟。。。
昨天写得有点快了写错了,呵呵,我意思是输入到内存中是有多种方法,比如可以弄到链表里面等等,引起歧义不好意思。
我是不知道你的本意是什么,如果想在程序中随时随地写入一个值,但是不想重复写什么scanf等语句,可以把输入一个数作为一个单独的功能,写一个void InputANum(int *Source, unsigned int Position, int input); 如果你要输入一个数到数组里面就调用一下这个函数,在程序的各个地方都可以方便的把数据放到数组里面,这个也是模仿一下链表的新建节点的操作。
希望可以帮助到你
不行的,你把它放在编译器里试试吧,编译都通不过,将i的声明移到开头,编译倒是通过了,但运行无结果,就是那!=EOF有问题,这在getchar中才可以这样用
你这个n未知的话,那个for就是死循环了啊,我试了,它会一直让我输入。。。
追答当你知道n是什么的时候,先输入n啊
不确定n的组 有数字个数定的话
int i=0,k;
while(scanf("%d",&k)!=EOF){
a[i]=k;
i++;
}
输入结束时按ctrl+z就行了
我运行试了一下,不行诶,应该是scanf("%d",&k)!=EOF的问题,一般都是(c=getchar())!=EOF,scanf的话,应该是没有字符就停吧,读不到EOF
追答#include
int main(){
static int i=0,a[20];
int k;
while(scanf("%d",&k)!=EOF)
{
a[i]=k;
i++;
}
for(k=0;k<i;k++)
printf("%d ",a[k]);
return 0;
}
测试数据 1 2 3 4
crtl+z
输出 1 2 3 4
你试试 记得输完数据先回车 再crlt+z