, tek işaretçi kullanarak sayılar dizisi doldururstrtol yeniden param
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
int main(void)
{
int arr[4], count = 0, i;
char *p, s[32] = " \t 10, 15 \n ,20, 25 , ";
p = s;
do {
arr[count++] = (int)strtol(p, &p, 10);
while (isspace(*p) || *p == ',') p++;
} while (*p);
for (i = 0; i < count; i++) {
printf("%d\n", arr[i]);
}
return 0;
}
Sorum şu:
O Param1 (kaynak) olarak s kullanmak geçerlidir ve & p strtol'de param 2 (ilk geçersiz karakterin adresi) olarak mı?
Teşekkür ederim Klas, ama kısıtlama anahtar kelimeleri ne olacak? işaretçisinin ömrü boyunca, sadece o veya doğrudan (örneğin, işaretçi + 1) türetilen bir nesneye erişmek için kullanılacak, bu sorun gibi görünüyor bir sorun gibi görünüyor –
strtol' '** endptr''ye erişirdi, fakat (Kirilenko'nun cevabına yaptığım yorumda bahsettiğim nedenlerden dolayı). –