好的,所以我正在用 c 编程并想检查字符串是否改变了,所以起初我这样做了:
if(strcmp (ax,result)!=0){
result=ax;
xil_printf(result);
xil_printf("detected");
}
}
它只检测到 1 次,然后我发现我正在使 2 个指针相等,所以即使 ax 的先锋改变了也会发生结果,因为它们现在都指向同一个东西,但我不希望我只想要将结果的数据更改为等于 ax 的 ppointee 的数据,因为字符串 ax 稍后会在代码中更改,因此我可以检测到它何时发生。所以我尝试了这个:
if(strcmp (ax,result)!=0){
*result=*ax;
xil_printf(result);
xil_printf("detected");
}
}
结果出现错误,无论如何如何做我想做的事情,我使结果数据等于 ax 但它们指向的不是同一件事:所以如果
ax-->"hello" adrress: 232
result-->"frog" adrress: 415
我检测到它们是不同的,然后我这样做:
ax-->"hello" adrress: 232
result-->"hello" adrress: 415
但不喜欢这样!:
ax-->"hello" adrress: 232
result-->"hello" adrress: 232 <--(they point at same thing which happens when i say result=ax)
那么有什么想法吗?