簡體   English   中英

如何用scanf終止while循環?

[英]How can i terminate a while loop with scanf?

我正在制作一個程序來對五個值求和,總和小於五個值的選項,程序可以正常工作,直到我想用這個選項退出 while 循環(“你想收取另一個值嗎?(y/n)” ,當我點擊 n 時,程序一直要求引入另一個值?我嘗試這樣做:scanf("%c", &option),但它是一樣的,這里是代碼:

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

void main(){
    float vector[5];
    float suma;
    int con, i;
    char opcion;

    suma = 0;
    con = 0;
    i = 1;

    opcion = 's';

    printf("Sumador de hasta 5 valores");
    while(opcion == 's' || con < 5){
        printf("\nIngrese valor %i:",i++);
        scanf("%f",&vector[con]);
        suma = suma + vector[con];
        con++;
        printf("\nDesea cargar otro valor?(s/n):");
        scanf(" %c",&opcion);
    }

    if(opcion == 's'){
        printf("\nSe supero el limite de valores permitidos");
    }
        printf("\nLa suma es: %.2f", suma);
}

程序的輸出

循環條件opcion == 's' || con < 5 opcion == 's' || con < 5為真時, con < 5為真。

opcion == 's'變為假時,您應該使用 AND opcion == 's' && con < 5來中斷循環。

暫無
暫無

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

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