1
我的功能還沒有完全完成,但我現在要做的是長整數的上一行的變量個數讀取:和strchr使用和strtol將
- 要分開的一串數字閱讀由空格。
- 從該字符串中提取數字。
- 將它們轉換爲長整數。
返回讀取號碼的數量。
int input(int a, int b, long int *result_array) { int ele = 0; char buffer[200]; char *start, *end; scanf("%[^\n]%*c", buffer); start = buffer; while((end = (strchr(start, ' ')) != NULL)) { result_array = strtol(start, &end, 10); ele += 1; start = end + 1; } return ele; }
它似乎沒有正常工作,我想我和strchr使用錯誤。
@DanielFischer OK理解謝謝:) – 2013-03-02 19:19:28
感謝您的答覆。哦,這就是strtol函數的工作原理,我完全誤解了它。我認爲第二個論點是應該停止作爲輸入的地方,而不是作爲輸出實際停止的地方。這非常完美,非常感謝你! – Frey1337 2013-03-02 19:32:41
@ Frey1337第二個參數是從strtol()返回的,這就是第二個參數中的原因'end'出現爲&end'作爲第一個參數被輸入,所以只有'end'就足夠了! ..讓我知道你是否有其他困惑。 – 2013-03-02 19:36:33