大佬教程收集整理的这篇文章主要介绍了如何使用 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,请注明来意。