-2
Bir süredir bunun üzerinde çalıştım, ancak {0,0,0,0,0} veya {2751685,2751685 vb.} Veya {57,58,59,60, ya da vb}Dize için dizi dizisi
void getGuess(int guess[], int length) {
char thisGuess[length];
int i=0;
printf("Enter your guess.\n");
scanf("%s", &thisGuess);
for(i=0; i<length; i++) {
printf("the guess = %d\n",(int)thisGuess[i]) ;
guess[i] = (int)(thisGuess)-48;
printf("%d ", guess[i]);
}
}
Ben bir dize, 12345 girin ve benim kodunda böylece
guess[0] = 1
guess[1] = 2
guess[2] = 3
etc
öneri bunu almak istiyorum?
'' '' 0 'rakamından '0' tamsayı değerine dönüştürmek için kullanılır. Eğer bu doğruysa: ** Sihirli sayıları kullanmayın! Kodunu karıştırıyorsun. Sadece _character integer constant_ ''0'' kullanın. – Olaf
Uzunluğunu parametrenize değil, for döngüsünüzde scanf ile aldığınız dizenin gerçek uzunluğunu kullanın ... – Unimportant
'(int) (thisGuess) - 48' bu olmalıdır' thisGuess [i] - 48' (veya tercihen '' 0 'yerine 48'). Ayrıca, sadece gerçekleşmiş olan girdinin sonunda ('' '' '' '' '' '' '' '' '' '' '' '') '' döngüsünü durdurmalı ve 'length'den daha fazla yazıyorsa, arabellek taşmalarını engellemenin bir yolunu bulmalısınız. –