【发布时间】:2023-02-02 19:50:26
【问题描述】:
我对为什么我的代码没有在 C 编程中迭代字符串感到有点困惑。
本质上。
我这里有这个功能
int atoi(const char *s[]){
printf(" The length is %d",strlen(s));
int length = strlen(s);
for(int i = 0; i< length; ++i){
printf("This is %s",*(s+i));
}
return 0;
}
我的第一个问题
-
在执行
strlen(s)时,为什么它有效,但在执行strlen(*s)时却不起作用,难道strlen不应该接受值而不是指针,所以后者应该有效吗? -
我将如何遍历指向内存中字符串的指针?
干杯
【问题讨论】:
-
Khandkar Islam,节省时间。启用所有编译器警告以获得快速反馈。
-
请说明你如何调用这个函数。发布的代码不是有效的 C,但您也可能在调用方有无效的 C,解释了为什么“有效”。另请查看What compiler options are recommended for beginners learning C?