我試圖提示用戶輸入多個數字,當用戶輸入字符串時,程序會計算這些數字的總和。我有困難,因爲我要保持程序儘可能地簡單,而無需創建其他變量來存儲字符串等輸入不同的類型(在C中)
int menu(int choice){
int total = 0, values = 0;
char *string = (char*) &values;
switch(choice){
case 1: printf("Enter your values separated by a whitespace: ");
while(string != "compute") {
scanf("%d",&values);
total = total + values;
}
}
return total;
}
我希望用戶爲S進入儘可能多的數字,他/她想要(內明顯內存限制),所以我必須不斷預測int(或其他「數字」),那麼預測字符串的最有效方法是什麼?
我知道下面這一行有點粗略,但爲什麼我要讓變量「字符串」像字符串/字符類型那樣對待「值」呢? char *string = (char*) &values;
這不是您比較字符串的方式。 'man strcmp' –
'string'指向一個'int'類型,無論用戶輸入到什麼'scanf',它都不會保存實際的字符串。另外,這不是你如何在C中測試字符串。通過執行'string!=「compute」'你實際上是在比較指針。 – Havenard
爲了簡單起見,我建議你使用輸入0作爲提示來終止循環。 – Havenard