我正在帮助我的兄弟编写作业,所以我们来到了一个我们有一个整数数组的地方所以如果你在表格中有10个整数[10]并且你想要以相反的方式放置它们你应该做:
for(i=9;i>=0;i--)
{
printf("%d",a[i]);
}
我能理解它及其逻辑,但如果你有一个字符,那么你应该从10开始:
for(i=10; i>=0;i--)
{
printf("%c",a[i]);
}
原因是什么?为什么它会访问循环11次,而字母数是10,所以它需要所有的字母,我放9而不是10和一个字母丢失所以是什么导致在char [];
加上我们什么时候添加&标记例如: 我宣布
int a;
我写道:
scanf("%d",&a);
我知道这是因为我们需要提供' a'但是,任何人都可以提供更多详细信息,我们什么时候写,没有&?感谢。
答案 0 :(得分:1)
char string[] = "helloworld";
该数组的长度为11,而不是10.(因此最高指数为10)。它包括一个NUL,'\ 0'在最后。但是你不应该打印NUL,所以你应该从9开始。
如果使用&符号为变量添加前缀,则通过引用传递。基本上它意味着你使用它的任何函数都能够修改变量(否则函数只获取数据的副本)。
它也用于获取变量的“地址”(基本上将其转换为指针),通常也是出于同样的原因。在C语言中使用的比C ++更多。