benim yarattığım tuşlarının benim dizisi argv
komut satırı argümanı içerip içermediğini görmek için çalışıyorum, ancak ben hata almaya devam: Nasıl ben kod ile bulunan bu iki argüman karşılaştırabilirsiniz oArgv'yi bir dizi öğe ile nasıl karşılaştırabilirim?
"incompatible pointer types passing 'char **' to parameter of type 'const char *';"
olduğunu herbiri? senin tek komut satırı argümanı varsayarak
char *scale_array[] = {"A", "A#", "B", "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#"};
for (int i = 0; i < (sizeof(scale_array)/sizeof(char)); i += 1) {
if (strcmp(argv, scale_array[i]) == 0) {
printf("Found it!");
}
else {
}
Yan Not: 'sizeof (char)' değişmez (her zaman 1) –
Ve bence sizeof (char *) sizeof (char) değil – 12431234123412341234123
Ortak bir deyim 'sizeof (array)/sizeof (array [0] ]) 'türüne sabit kod yazmak zorunda değilsiniz, ve sonra türünü yanlış yapmak için bir fırsat yok. – Barmar