30/09/2018, 22:44
Có đoạn code C++ chưa hiểu rõ. Xin nhờ mọi người giải thích giúp mình
Mọi người giảng giúp e đoạn code này với ạ. e mới học nên chưa hiểu biết nhiều, mong mọi người giúp ạ. tài liệu e copy từ ngôn ngũ lập trình c++ của học viện công nghệ bưu chính viễn thông
#include <ctype.h>
#include <string>
// Hàm có sử dụng con trỏ hàm như tham số
void Display(char[] str, int (*Xtype)(int c)){
int index = 0;
while(str[index] != ‘ ’){
cout << (*Xtype)(str[index]); // Sử dụng con trỏ hàm
index ++;
}
return;
}
// Hàm main, dùng lời gọi hàm đến con trỏ hàm
void main(){
char input[500];
cout << “Enter the string: ”;
cin >> input;
char reply;
cout << “Display the string in uppercase or lowercase (u,l): ”;
cin >> reply;
if(reply == ‘l’) // Hiển thị theo dạng lowercase
Display(str, tolower);
else // Hiển thị theo dạng uppercase
Display(str, toupper);
return;
}
Bài liên quan
int (*Xtype)(int c)
Con trỏ hàm có tên Xtype có thể trỏ đến hàm có tham số kiểu int, gọi hàm này xong trả về kiểu int cho đối tượng cout sử dụng.
giải thích giúp em đoạn này với ạ “char[] str”
char[] str là tham số của hàm. Bạn đã học đến phần nào rồi mà lại đọc mấy cái ví dụ này?
e cũng biết là tham số của hàm, nhưng e ko hiểu nó là loại tham số gì. nhìn thấy dấu “[]” thì e nghĩ là mảng, nhưng chưa nhìn thấy phần khai báo tham số mảng nào như vậy ạ
Nó là con trỏ. Thử sizeof thì biết.