#include<stdio.h>
int main(void)
{
char heart[]="I Love Tillie"; /* using array notation */
int i;
for (i=0;i<6;i++)
{
printf("%c",&heart[i]); /* %c expects the address of the character we want to print */
}
return 0;
}
如果
heart[i]
和&heart[i]
的意思相同,那就是heart[i]
的地址,为什么我的程序要把这个-??????
作为输出给我?有人能帮帮我吗? 最佳答案
首先
应该是
printf("%c",heart[i]); // if you want to print the charachter
或
printf("%p",&heart[i]); // if you want to print the charachter address in the memory
而不是
printf("%c",&heart[i])
heart
是一个字符数组,heart[i]
是数组中的字符数i
是&heart[i]
数组中元素编号i
的内存地址。要打印内存地址,必须使用heart