#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

10-08 03:54