Jam*_*oon -1 c segmentation-fault
我的守则
int i,v,o,p,j;
v=0;
o=0;
char x[12]={'#','v','v','o','#','o','v','#','v','o','o','#'};
void vukovi (char a[])
{
for (i=0;i<12;i++){
if (x[i]=='#'){
for (j=i+1;x[j]!='#';j++){
if (x[j]=='v'){
v=v+1;
}
if (x[j]=='o')
o=o+1;
}
if (v>=o){
for (j=i+1;x[j]!='#';j++){
if (x[j]=='o'){
x[j]='.';
}
}
}
}
v=0;
o=0;
}
for (i=0;i<12;i++){
printf("%c",x[i]);
}
}
vukovi(x);
return 0;}
Run Code Online (Sandbox Code Playgroud)
有时它打印得很好.
有时错误
.exe停止工作
我不知道为什么.
程序的想法是:两个地方之间的任何#地方都是v> o,o必须被替换为.
Like我说当它打印时,它打印得很好.
否则错误.救命 ?
(我遗漏了包含和主要功能).
当i==11这个循环错误时:
for (j=i+1;x[j]!='#';j++){
Run Code Online (Sandbox Code Playgroud)
因为它j从12开始.你已经在字符串之外了,但是因为你的循环停止在树林里向前推进#:未定义的行为.
如果您#在通过未分配的内存(可能发生或不发生)时遇到char,或者遇到超出系统检测到非法读取的页面边界而停止使用SEGV时停止.
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |