运行时错误-c中的指针
我写了一个用英语打印所有字母的程序,但是我写的代码中有一个运行时错误。它在哪里?为什么会这样? 你能帮我解决这个问题吗运行时错误-c中的指针,c,function,pointers,C,Function,Pointers,我写了一个用英语打印所有字母的程序,但是我写的代码中有一个运行时错误。它在哪里?为什么会这样? 你能帮我解决这个问题吗 void printArray(char* p, int len) { for( p ; p < p + len ; p++ ) { printf("%c", *p); } printf("\n"); } int main() { char* abc = "abcdefghijklmnopqrstuvwxyz";
void printArray(char* p, int len)
{
for( p ; p < p + len ; p++ )
{
printf("%c", *p);
}
printf("\n");
}
int main()
{
char* abc = "abcdefghijklmnopqrstuvwxyz";
printArray(abc, 26);
return 0;
}
什么时候p不小于p+len
您可能需要以下内容:
char* stop = p + len;
for( p ; p < stop ; p++ )
p无限循环
暗示for(int i = 0; i<len ; i++ )
{
printf("%c", p[i]);
}
因为你在编辑p的同时检查p
char* end = p + len;
for(p ; p < end; p++)
那么它应该可以工作了您如何判断是否存在运行时错误?因为我试图运行它,但出现了运行时错误您收到消息了吗?你的电脑锁了吗?发生了什么事告诉你发生了错误?它在哪里这就是你应该告诉我的。然后我们可以告诉你为什么会发生这种情况。学习使用调试器。有三个答案表明存在无限循环,但您说存在运行时错误报告。这三个答案肯定都错了——我将全部投反对票。
char* end = p + len;
for(p ; p < end; p++)