任何人都知道如何從函數返回3個字符值到主要部分?三個字符必須由用戶輸入並製成一個金字塔。我被告知使用指針,但不知道如何去做,並不斷收到錯誤。這三個字符必須在主要功能中使用才能製作金字塔形狀。C - 如何返回多個字符
-1
A
回答
1
我寫指針的一個例子,我希望這是有用的:
main(){
int a,b,c;
doSomething(&a,&b,&c);
}
void doSomething(int *x, int *y, int *z){
//example
*x = 5;
*y = 7;
*z = 10;
}
3
要在我的評論擴大,基本上有兩種方式,我會建議解決這個問題,其中第一個有兩個變種(取決於用例和要求)。 。
傳遞一個數組作爲函數參數,並將其填充在這個帶有取決於所需要的兩個變種:
只需使用普通的數組
void doSomething(char *array) { array[0] = 'A'; array[1] = 'B'; array[2] = 'C'; }
撥打電話
char array[3]; doSomething(array); printf("First character is '%c'\n", array[0]);
第二變體基本上與上述相同,但對待陣列作爲(空終止)字符串:
void doSomething(char *array) { strcpy(array, "ABC"); }
呼叫等
char array[4]; // One extra for terminator doSomething(array); printf("String is '%s'\n", array);
返回的第二種方式多個值是通過使用結構:
struct Data { char a; char b; char c; }; struct Data doSomething(void) { struct Data data; data.a = 'A'; data.b = 'B'; data.c = 'C'; // or struct Data data = { 'A', 'B', 'C' }; return data; }
調用像
struct Data data = doSomething(); printf("First character is '%c'\n", data.a);
相關問題
- 1. 如何返回多個字符串?
- 2. 如何返回多個字作爲一個字符串
- 3. 如何返回字符串變量c
- 4. 如何返回一個字符串arrayList
- 5. C++/win32 - LB_GETTEXT只返回一個字符
- 6. 返回一個字符串在C
- 7. 在C++中返回一個'/ n'字符
- 8. C#返回一個字符串方法
- 9. 返回兩個字符串在C++
- 10. 在C++中返回一個字符串
- 11. C++ c_str不返回整個字符串
- 12. 如何從webservice返回多個字符串?
- 13. 返回多個字符串格式
- 14. 從函數返回多個字符串
- 15. PHP返回多個字符串
- 16. Python的分裂()返回多個字符
- 17. 如何返回一個字符串?
- 18. C++返回字符串
- 19. 返回字符數組?? ??(C)
- 20. C - 返回字符串
- 21. NuSoap返回多餘字符
- 22. 返回多內襯字符串,字符
- 23. C#類具有多個返回字符串和int
- 24. 如何從一個字符串返回鑑於MVC3在C#
- 25. 如何在c#中返回一個字符串的引用?
- 26. 如何編寫會返回一個字符串在C
- 27. C# - 如何根據字符串返回一個類型
- 28. 如何從C中的MACRO函數返回一個字符串?
- 29. 如何從C返回一個託管字符串++/CLI類
- 30. 如何從Python中返回一個字符串值,Objective-C的
也許你想*字符串*?那麼最好的解決方案是將一個數組作爲參數傳遞給函數,並讓該函數正確地填充數組。即使你只需要三個獨立的字符,而不是一個字符串,這也可以工作。要麼,要麼返回*結構*。 –