was bedeutet diese warnung?



  • hey=)

    bin noch relativ neu im umgang mit c,also entschuldigt bitte blöde fragen jedweder art 🙂

    Würde gerne wissen was diese warnung bedeutet : too many argumenst for format?

    danke schon mal

    gruß

    fant 🙂



  • der dazugehörige code wäre ziemlich kewl 🙂



  • #include<stdio.h>

    int main ( void ) {

    short int i=0,
    x=32767,
    t=0;

    while(i<x){

    t=t+1;

    i++;

    }

    /*
    do{

    t=t+1;
    i++;

    }
    while(i<x);
    */

    printf("positive obere grenze:%hd",t);
    printf("negative obere grenze:-",t-1);

    return 0;

    }

    z27 :too many argumenst for format.

    EDIT:Ich bin so ein schaaf... hb das formatzeichen vergessen...=) trotzdem danke... allerdings is mir schleierhaft wieso er "too many arguments for format " ausgibt.. ich hab doch garkein format angegeben... ? faulheit der compilerbauer? 😃 ?für keins is eins eins zuviel? 🙂



  • Fant schrieb:

    für keins is eins eins zuviel? 🙂

    Passt doch.



  • Fant schrieb:

    printf("negative obere grenze:-",t-1);

    du gibst Argumente an obwohl du das Formatzeichen vergessen hast, folglich stimmt die Compilerwarnung.



  • woher weiß der kompilier das die funktion pro argument ein formatzeichen
    erwartet wird? oder ist printf in den kompilier eingebaut ?



  • fragezeichen? schrieb:

    woher weiß der kompilier das die funktion pro argument ein formatzeichen
    erwartet wird? oder ist printf in den kompilier eingebaut ?

    Nö, aber du kannst mit einer GCC-Erweiterung angeben, dass eine Funktion ein printf-Formatparameter benutzt und dann kann er die Argumente überprüfen. Steht alles auch in der GCC-Doku.


Anmelden zum Antworten