我对 C 编程语言非常陌生。现在我正在学习记忆和指针。我正在阅读和阅读,但我不明白何时使用指针,何时不使用。只需查看以下代码即可。在我的第一个代码中,为什么我们不在 "scanf("%2s", card_name)" 这一行上使用 "&" 运算符?在我的第二个代码中,为什么我必须在“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;
}