簡體   English   中英

scanf c 編程語言的問題

[英]problem with scanf c programming language

所以我用c語言制作了這個程序,它假設使用scanf接受2個輸入,如果輸入的字符部分是特定字符,則該字符的計數器增加。 但是,當我運行它時,程序在我向 scanf 輸入輸入 2 次后終止,它直接進入 while 循環外的 printf 語句,i 值打印為 1,k 值打印為 0。我不允許使用除 scanf 以外的任何其他東西。 有人可以幫忙嗎? 謝謝

#include <stdio.h>

typedef struct {

    double x;
    } se_t;

typedef struct { 

       double x;
       } ce_t;

int
main(int agrc, char *agrv[]){
ce_t ce[43];
se_t se[43];
double a=0;
int i=0, k=0;
char check;

while ((scanf("%c %lf",&check,&a)==2)){
    if (check=='a'){
    ce[i].x=a;
    i++;
    }
    else if (check=='b'){
    se[k].x=a;
    k++;
    }
}
printf("%d\n",i);
printf("%d\n",k);
return 0;
}
while ((scanf(" %c %lf",&check,&a)==2)){
 /*            ^ add a space          */

嘗試在scanf %c之前放置一個空格。 由於'\\n'將保留在stdin ,然后在下一次迭代中,它可能會導致scanf在遇到'\\n'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM