我想保存op = R和s = 5,但我的代码显示垃圾输出

时间:2014-09-11 18:16:24

标签: c

#include <stdio.h>
#include <string.h>

void main()
{
    int N,i,s;
    char op;
    scanf("%d",&N);
    int a[N];
    for(i=0;i<N;i++)
    {
        scanf("%d",&a[i]);
    }

    scanf("%c %d",&op,&s);
    printf("%c %d",op,s);
}

如果我在我的代码中包含此for循环然后执行此代码,则scanf不会读取我的输入。
如果我插入opand s的值是R和5那么输出就是垃圾。

如果删除for循环,那么我printf会打印正确答案。

1 个答案:

答案 0 :(得分:1)

您需要使用尾随的\n字符。最简单的方法是写:

scanf(" %c %d",&op,&s);  //notice the space before %c