这个需要循环了
#include <stdio.h>
int main() {
char str[] = "123aaaasw 42 d 5641w";
int arr[3];
int i = 0;
char *ptr = str;
while (*ptr) {
int n;
if (sscanf(ptr, "%d", &n) == 1) { // 如果能夠讀取到整數
arr[i++] = n;
if (i == 3) break; // 如果接收到三個整數就退出
ptr += sprintf(ptr, "%d", n); // 更新指針位置
} else {
ptr++; // 如果沒有讀取到整數就繼續繼續查找
}
}
// 輸出結果
printf("arr={%d,%d,%d}", arr[0], arr[1], arr[2]);
return 0;
}