我编码像这样.
<?php
function get_argument($arg){
return $arg;
}
echo print get_argument(33);
?>
Run Code Online (Sandbox Code Playgroud)
保存为php扩展文件.并在chrome中执行它.我希望打印出数字'33'
但它告诉我'331'
对我来说有点奇怪.所以我改变了值34而不是33.
打印出'341'
所以我再次测试了它.
再插入两个这样的代码.
echo get_argument(33);
print get_argument(33);
Run Code Online (Sandbox Code Playgroud)
它们都打印出相同的数字,即'33'
有什么区别?是什么导致了一点,但结果很大?
我是靠自己学习C语言的.当我将一个元素的数组值分配给另一个时,(看起来)会发生奇怪的事情.我的代码如下.
int main(void){
int i =0;
char a2[] = "aaaa";
char a1[] = "bbb";
printf("%lu\n",sizeof(a2));
printf("%lu\n",sizeof(a1));
printf("%c\n",a2[4]);
printf("---\n");
for(i =0; i < sizeof(a2); i++){
a2[i]=a1[i];
printf("%c\n", a2[i]);
}
printf("---\n");
printf("%c\n", a2[4]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
结果如下.
5 4 --- b b b b --- b
我不知道为什么[4] a2 [4]值是"b".首先,我认为如果我尝试编译此代码,编译器会通过错误,但它说好.所以我显示结果并看到a2 [4]元素包含"b"字符.数组如何在C中工作?
我应该学习更深入理解机制的概念?