我正在用C编写一个程序,该程序从命令行接收来自用户的两个字符串作为输入。我知道当你使用
int main(int argc, char *argv[])
它创建一个指向数组的指针,该数组将两个参数都存储为argv [1]和argv [2]。假设用户在命令行上输入了“ hello”,而我想访问“ hello”中的各个字符,那么如果argv [1]给出了整个字符串而不是单个字符,我该怎么办?
答案 0 :(得分:1)
TL; DR- 如有疑问,请检查数据类型。
argv
的类型为char * []
,它衰减为char **
。因此,argv[n]
的类型为char *
。
您可以像argv[n]
一样索引argv[n][m]
以获得char
元素。
答案 1 :(得分:0)
您可以将 char * argv [] 视为字符串数组。
由于char *是指向char数组的指针(也可以视为字符串)。
因此argv [0],argv [1] ....是char *数据类型,argv [0] [0]是char数据类型。