当前位置:  开发笔记 > 编程语言 > 正文

增加C指针

如何解决《增加C指针》经验,为你挑选了1个好方法。

我认为如果指向char数组的ac指针增加,那么它将指向该数组中的下一个元素.但是当我尝试这个时,我发现我必须增加两次.使用sizeof(char)尝试增量我发现添加char的大小太多,所以必须将它除以2.

#include 

int main(int argc, char * argv[]){
   char *pi;
   int i;
   pi = argv[1];
   printf("%d args.\n",argc-1);
   printf("input: ");
   for(i=0;i

难道我做错了什么?或者我误解了增加指针的方法?



1> phihag..:

sizeof(char)保证为1,但sizeof(char*)不是.

尽管如此,您的功能只能偶然发挥作用.

例如,尝试使用以下参数调用它:

abc defg

这将产生:

2 args.
input: a, c,

这是完全错误的.问题是你正在增加一个指向argv元素1的指针,而不是指向argv的指针.

试试这个:

#include 

int main(int argc, char * argv[]){
   char **pi;
   int i;

   pi = argv + 1;
   printf("%d args.\n",argc-1);
   printf("input: ");
   for(i=0;i

这将打印每个参数的第一个字符:

2 args.
input: a, d,

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有