我是 C 语言新手,有一些基本问题;我读了一些教程并查看了几个问题,但由于某些措辞我仍然有点困惑。
#include <stdio.h>
int main(int argc, char **argv){
printf("%s",argv[1]);
}
假设我编译并运行文件:./test blah blah
据我了解,argv[1]
指向一个指向blah
的指针;如果我需要访问blah中的字母,我到底应该怎么做?
我尝试过: printf("%s\n", argv[1][1])
和 char *pointer = argv[1]
但都不起作用。
我是否误解了一个概念?或者我只是没有正确编码部分。
最佳答案
值 argv[1][1]
类型为char
(因为 argv
的类型为 char **
),所以您应该使用 %c
(unsigned character) printf format :
printf("%c\n", argv[1][0]); // => b
printf("%c\n", argv[1][1]); // => l
printf("%c\n", argv[1][2]); // => a
printf("%c\n", argv[1][3]); // => h
关于c - 指针规范,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22001244/