程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何使用 Enter 停止 C“命令应用程序”程序大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何使用 Enter 停止 C“命令应用程序”程序?

开发过程中遇到如何使用 Enter 停止 C“命令应用程序”程序的问题如何解决?下面主要结合日常开发的经验,给出你关于如何使用 Enter 停止 C“命令应用程序”程序的解决方法建议,希望对你解决如何使用 Enter 停止 C“命令应用程序”程序有所启发或帮助;

这是我的代码,我的问题是如何停止“终止”......如果用户在第一次扫描时按回车键?

如果用户按下回车键,我想停止程序,但我不知道该怎么做..

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

int main()
{
    int zeichenkette;

    // abfragen wIE lange unser zeichenkette sein soll
    printf("WIE vIEle Zahlen wollen sIE eingeben: ",zeichenkette);
    scanf("%i",&zeichenkette);


    // hIEr wird dIE länge des arrays bestimmt
    int* array = malloc(zeichenkette * sizeof(int));


    // deklaration
    int sum = 0;
    int lowest = 32767;
    int max = 0;



    for(int i = 0; i < zeichenkette; i++) {

        // zahl angabe,dIEse wird zum array hinzugefügt
        printf("Geben sIE eine Zahl an:  \n");
        scanf("%d",&array[i]);

        // Der summe wird immer mit der geraden array integer addIErt
        sum = sum + array[i];

        // wenn eine zahl gröẞer als 0 ist dann max variable überschreiben
        if(max < array[i]) {
            max = array[i];
        };

        // wenn es eine zahl in der array kleiner als 32767 gibt dann überschreiben
        if(lowest > array[i]) {
            lowest = array[i];
        };

    };


    // da wir dIE summe schon haben und in dIE zeichenkette variable dIE länge haben können wir der mittelwert berechnen
    int mittelwert = sum/zeichenkette;

    // Ausgabe
    printf("Summe: %i \nMittelwert: %i\nMax: %i\nMin: %i\n",sum,mittelwert,max,lowest);

}```

解决方法

您不想将 scanf() 用于类似的事情,而是可以使用 fgets()sscanf()strtol() 稍后解析字符串。

  • strtol()

     #include <stdio.h>
     #include <stdlib.h>
    
     #define MAX_LEN 500
    
     int main()
     {
         long int zeichenkette = 0L;
         char *endptr = NULL;
         char buff[MAX_LEN];
    
         // abfragen wie lange unser zeichenkette sein soll
         printf("Wie viele Zahlen wollen sie eingeben: ");
    
         if(fgets(buff,MAX_LEN,stdin) == NULL)
         {
             fprintf(stderr,"error handling here");
             exit(EXIT_FAILURE);
         }
    
         if (buff[0] == '\n') /* first char in buff is the newline char */
         {
             puts("Exiting");
             exit(EXIT_SUCCESS);
         }
         else
         {
             zeichenkette = strtol(buff,&endptr,0); /* could do some error checking here,errno and enptr */
         }
     /* ... */
    
  • sscanf()

     #include <stdio.h>
     #include <stdlib.h>
    
     #define MAX_LEN 500
    
     int main()
     {
         int zeichenkette = 0;
         char *endptr = NULL;
         char buff[MAX_LEN];
    
         // abfragen wie lange unser zeichenkette sein soll
         printf("Wie viele Zahlen wollen sie eingeben: ");
    
         if(fgets(buff,"error handling here");
             exit(EXIT_FAILURE);
         }
    
         if (buff[0] == '\n')
         {
             puts("Exiting");
             exit(EXIT_SUCCESS);
         }
         else
         {
             if (sscanf(buff,"%d",&zeichenkette) != 1) /* always check the return value of scanf() */
             {
                 fprintf(stderr,"error handling");
                 exit(EXIT_FAILURE);
             }
         }
     /* ... */
    

附带说明,you should always check the return value of scanf(),这样您就可以检测输入错误。

大佬总结

以上是大佬教程为你收集整理的如何使用 Enter 停止 C“命令应用程序”程序全部内容,希望文章能够帮你解决如何使用 Enter 停止 C“命令应用程序”程序所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: