[英]How to format input in C
我需要幫助弄清楚如何以特定格式輸入 C {1,2,3,4}
// 這是正確的輸入 - {} 中的數字用逗號分隔。
znamky = (int*) malloc (n * sizeof(int)); // I allocate memory here
if (znamky == NULL)
return EXIT_FAILURE;
printf("Pocty bodu:\n");
scanf("%c",&overeni[0]); // here I check if the first character is {; if not I exit program
if (overeni[0]!=zavorka[0])
{
printf("Nespravny vstup.\n");
return EXIT_FAILURE;
}
while (scanf("%d",&znamky[count])!=EOF) //here I continue loading numbers, and char fight
{ //if the character after number is "," i load another
if (scanf("%c",&znaminko[0])==1) //number, if it is "}"I exit the while cycle
{ // else I exit the program
if (znaminko[0]==carka[0]) // if equals ","
{
printf("sdf\n");
count++;
if (count==n) // if I run out of memory I allocate more
{
n = n*2;
znamky = (int*) realloc (znamky, n * sizeof(int) + 4);
}
continue;
}
if (znaminko[0]==zavorka2[0]) // if equals "}"
count++;
printf("utikam\n");
break;
}
else
{
printf("Nespravny vstup\n");
return EXIT_FAILURE;
}
}
printf("%d ",count); //here I just print length of my array
printArray(znamky,count);
free(znamky);
return 0;
我的問題是:當我運行代碼並給它正確的輸入時,它工作得很好,但是如果我輸入 {2 並按 enter 它認為,輸入等於“}”並退出循環。 為什么會這樣想? 上面當我將 char 與“{”進行比較時,它似乎工作正常......也歡迎任何有關如何改進代碼的提示,我對編程仍然是新手,所以我看不到所有明顯的錯誤。 非常感謝。
我的問題是:當我運行代碼並給它正確的輸入時,它工作得很好,但是如果我輸入 {2 並按 enter 它認為,輸入等於“}”並退出循環。 為什么會這樣想? 在上面,當我將 char 與“{”進行比較時,它似乎工作正常......
也歡迎任何關於如何改進代碼的提示,我還是編程新手,所以我看不到所有明顯的錯誤。
但是如果我例如輸入 {2 並按回車鍵它認為,輸入等於“}”
問題在這里:
if (znaminko[0]==zavorka2[0]) // if equals "}"
count++;
printf("utikam\n");
break;
它應該是:
if (znaminko[0]==zavorka2[0]) // if equals "}"
{
count++;
printf("utikam\n");
break;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.