私はCプログラミング言語が初めてです。今、私はメモリとポインタを学んでいます。私は読んだり読んだりしていますが、ポインターをいつ使用し、いつ使用しないか理解していません。以下を参照してコーディングしてください。最初のコードで、この行 "scanf("%2s", card_name)" で "&" 演算子を使用しないのはなぜですか? 2 番目のコードでは、「scanf("%i", &decks);」で「&」演算子を使用する必要があった理由を説明します。私はそれを理解するために一晩中過ごしました。今、私は違いを理解するための良いヒントを得るためにここにいます..
コード 1
#include <stdio.h>
#include <stdlib.h>
int main(){
char card_name[3];
int count=0;
while (card_name[0]!='X') {
int val=0;
puts("Enter The Card Name:");
scanf("%2s", card_name);
switch (card_name[0]) {
case 'K':
case 'Q':
case 'J':
val=10;
break;
case 'A':
val=11;
break;
case 'X':
continue;
default:
val= atoi(card_name);
break;
}
if (val<2||val>11) {
puts("sorry this is not valid");
break;
}
if (val>=2&&val<=10) {
count++;
printf("Then value is %i And The Count is %i\n", val, count);
break;
}
}
}
}
コード 2
#include <stdio.h>
int main() {
int decks;
puts("Enter a number of decks");
scanf("%i", &decks);
if (decks < 1) {
puts("That is not a valid number of decks");
return 1; }
printf("There are %i cards\n", (decks * 52));
return 0;
}