给指针数组赋初值:除了下面的写法,怎样写能实现从键盘输入赋初值呢?

char *a[3]={"What is local bus?","Name some local bus","A local bus is high speed"};

scanf("%s",a[0]);


char* a[3] = {};
for(int i=0; i<3; i++){
    getline(cin, a[i]);

}