创建结构并打印出内容

时间:2016-04-24 22:57:33

标签: c

我正在尝试使用动态内存分配创建一个结构,在运行时获取输入,最后尝试打印出内容。

这是代码:

UITableViewCells

我们这里有一个岛结构,一个显示结构内容的显示方法,然后是一个创建函数,它使用动态内存分配为结构创建空间。我在运行时传递岛的名称并创建结构

这是我得到的输出,它在我运行程序时起作用:

contentView

注意:testing是程序的名称。

问题是我试图以这种方式打印输出,而不是打印出来,为什么会这样?

  #include<stdio.h>
  #include<stdlib.h>

  typedef struct island{//struct template
  char* name;
  char* opens;
  char* closes; 
  struct island *next;  
  }island;

void display(island *start)//start display
{
island *i;
i=start;
while(i!=NULL)
{
    printf("Name:%sOpen:%s-%s\n",i->name,i->opens,i->closes);
    i=i->next;
}   
}//end display

island *create(char *name)//start create
{
    island *i=malloc(sizeof(island));
    i->name=strdup(name);
    i->name=name;
    i->opens="9:00AM";
    i->closes="5:00PM";
    i->next=NULL;
    return i;
}//end create

int main()//start main
{
char name[80];
fgets(name,80,stdin);
island *i=create(name);
display(i);
return 0;
}//end-main

使用的printf()语句是:

 C:\Users\Gova\Desktop\ctest>testing
 Ami
 Name:Ami
 Open:9:00AM-5:00PM

为什么程序在我没有在printf()语句中指定任何内容时添加换行符?

0 个答案:

没有答案