/*我观察到的是:为什么这个数组是分配给非指定的数组?
- 当我给串像 “AB” 以B(阵列)
则输出是: “AB”, “帮助”, “哥们” - 当我给“ABC”
然后输出为: “ABC” “” “哥们” 如果我给 “ABCD” 然后输出为: “ABC”, “d”, “哥们”
等*/
#include<stdio.h> main() { char a[5]="help",b[3],c[10]="dude"; scanf("%s",b); printf("\t%s",b); printf("\t%s",a); printf("\t%s",c); } /* what i dont get is : Here iam gaving a string to b(array), why, if the string has more than the required no. of charecters, its printing those charecters in other arrays (though i had not assiged scanf to other arrays)?
这是未定义的行为。 – chris
什么!我没有得到它? – Srinadh
'scanf(“%s”,&b);'你不需要'&',''b'已经是一个指针了 –