今天在写一个测试int long代码时 遇到了一个问题当我键入 $ ./a.out int long 时 得到 int-8 long-8而不是 int-4 long-8为什么?
int main(int argc,char * argv[]){ for (int i=1;i<argc;i++){ printf("%s-%lu\t",argv[i],sizeof(argv[i] )); } return 0; }
该怎么改呢?
收起
回答的朋友,还是要负责一点的哦!!!sizeof 的参数是argv[i],这个argv[i] 是什么?是字符串指针,指针。。。指针。。。指针。。。。就是你写的是char、short,得到的依然是8 个字节。。。因为你是64位的系统
报告相同问题?