我有一個項目要做哪些要求我根據用戶的輸入兩個向量的地址記錄到一個雙陣列。然而。例如,如果用戶寫如何使用scanf的掃描雙和焦炭在同一時間到雙陣列用C
3 1 2 3 3 4 5
這意味着矢量是3維和兩個向量(1,2,3)(3,4,5)
。如果用戶寫入,
2 1 2 2 3
這意味着矢量是二維和兩個向量(1,2)(2,3)
。我需要將這兩個向量的座標記錄到兩個雙數組x和y中。我如何使用scanf將座標讀入這兩個數組? (我不知道,如果用戶以正確的格式寫,有可能爲他們寫在那裏他們應該只寫數字的地方字母或其他符號。如果他們寫的比許多其他字符,我需要返回。 - 1)
到目前爲止我的代碼是
double x[100];
char c;
c = getchar();
do {
scanf("%lf",x)}
while (c!= '\n');
不能檢測並從'scanf'惡意的用戶輸入恢復。考慮使用'fgets'來代替。 – melpomene
,因爲我以前建議你應該用'strtok()'來標記params將整行代碼分解爲標記,並將它們轉換爲浮動槽'atof()'。 正如** melpomene **所示,使用'stdin'中的'gets()'。 – weirdgyn
但我需要使用scanf來解決這個問題。是否有可能將所有內容(double和char)存儲到數組中,然後檢查數組中的元素是否爲數字? –