| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1594 人关注过本帖
标题:一个小问题,怎么让这个程序不以读入换行符结束,而是以EOF结尾
取消只看楼主 加入收藏
吕宏
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2016-4-12
结帖率:86.67%
收藏
已结贴  问题点数:20 回复次数:1 
一个小问题,怎么让这个程序不以读入换行符结束,而是以EOF结尾
#include <stdio.h>
#include <stdlib.h>
typedef struct String String;
struct String
{
char ch;
String *next;
};
void SaveSring(String ** head);
void PrintString(String *head);
void SaveToArray(String *head);
int main(void)
{
String *head = NULL;
printf("Please input  a string\n");
SaveSring(&head);
PrintString(head);
SaveToArray(head);
return 0;
}
void SaveSring(String ** head)
{
String *current = NULL;
String *previous = NULL;
while(1)
{
current = (String*)malloc(sizeof(String));
if (*head == NULL)
{
 *head = current;
}
if (previous != NULL)
previous->next = current;
previous = current;
current->next = NULL;
scanf("%c", &current->ch);

 if (current->ch =='\n')
 
 {
current->ch = '\0';
current->next = NULL;
break;

}
}
}
void PrintString(String *head)
{
while (head != NULL)
{
printf("%c",head->ch);
head = head->next;
}
printf("\n");
printf("\n");
printf("\n");
}

void SaveToArray(String *head)
{
int cnt;
String *temp = head;
for(cnt = 1; temp->next != NULL;)
{
temp = temp->next;
cnt=cnt+1;
}
char string[100];
for (int i = 0;i<cnt;++i)
{
string[i] = head->ch;
head = head->next;
}
  puts(string);
  printf("\n");
}
怎么让这个程序不以读入换行符结束,而是以EOF结尾
搜索更多相关主题的帖子: previous current include return 换行符 
2016-06-07 09:54
吕宏
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2016-4-12
收藏
得分:0 
scanf("%c", &current->ch);

 if (current->ch =='\n')
 
 {
current->ch = '\0';
current->next = NULL;
break;

}
应该是这一段代码的问题
2016-06-07 09:54
快速回复:一个小问题,怎么让这个程序不以读入换行符结束,而是以EOF结尾
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016933 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved