请教一个c语言问题。谢谢!

问题描述

请教一个c语言问题。谢谢!

原例题:

#include <stdio.h>
#define maxline 1000
int getline(char line[],int max);
void copy(char to[],char from[]);

int main()
{int len;
 char line[maxline];
 char longest[maxline];
 int max = 0;
 while((len = getline(line,maxline))>0)
 {
  if(len > max)
    {  max = len;
       copy(longest,line);
  }
 }
 if(max > 0)
  printf("%s",longest);
}
int getline(char s[],int max)
{
 char c;
 int i;
  for(i = 0;i<max && (c=getchar())!=EOF && c!='
';++i)
      s[i] = c;
 if(c == '
')
 {
  s[i] = c;
  ++i;
 }
 s[i] = '';
 return i;
}
void copy(char to[],char from[])
{
 int i = 0;
while ((to[i] = from[i]) != '')
    ++i;
}

如果将copy函数改为如下就出错了,请问一下为什么??

 void copy(char to[],char from[])
{
 int i = 0;
for(i=0;from[i]!='';++i)
    to[i]=from[i];
}

解决方案

void copy(char to[],char from[])
{
int i = 0;
for(i=0;from[i]!='';++i)
to[i]=from[i];
}这种写法不会复制字符串的终止符''

解决方案二:

 void copy(char to[],char from[])
{
int i = 0;
for(i=0;from[i]!='';++i)
    to[i]=from[i];
to[i]='';
}

解决方案三:

c);} b a &c); if(a%d>%d" &b &a c/n"); scanf("%d%d%d" b t; printf("input a c b z);}|||#includemain(){ int a y x y的值*/ printf("small to big: %d %d %d/n" z的值*/ if(y答案就在这里:请教一个C语言问题

解决方案四:

终止符''不会被复制

解决方案五:

加一个to[i] = ''

时间: 2024-09-28 13:01:31

请教一个c语言问题。谢谢!的相关文章

紧急请教一个c语言怎么写

问题描述 紧急请教一个c语言怎么写 一个变量包含一组数据,求从这个变量中抽出两个数相加的c语言程序怎么写 解决方案 什么类型的变量?int型数组变量?抽取的两个数有什么条件? 解决方案二: int a[20]; int i = 0,j=0,sum=0; for(i=0;i<20;i++){ //产生1--100 a[i]=rand()%100+1; } //产生0-20 i = rand() % 20; while(j==i){ j = rand() % 20; } sum = arr[i]+a

请教一个C语言的问题

问题描述 在C语言的一段程序中遇到这样一条语句:get_zd_data("0270",addr);/*地址信息*/请高手解释一下这条语句的含义和使用方法,不胜感激. 解决方案 解决方案二:查无此函数.估计是自己定义的吧解决方案三:谢谢!

数据结构-请教一个有关c语言的问题

问题描述 请教一个有关c语言的问题 错误如下: yuan.cpp i:数据结构课程设计yiyuanduoxiangshiyuan.cpp(2) : error C2143: syntax error : missing ';' before 'PCH creation point' i:数据结构课程设计yiyuanduoxiangshiyuan.cpp(5) : error C2143: syntax error : missing ';' before 'PCH creation point'

c语言-求大神设计一个C语言的连连看!!谢谢!!

问题描述 求大神设计一个C语言的连连看!!谢谢!! 1 问题描述 连连看是一个经典的游戏,本课题要求实现一个文本界面的连连看游戏. 2 基本要求 要能提供以下几个基本功能: (1)定义一个矩阵,随机产生字符布置地图,例如下面这个4x4 的地图. 1 2 3 4 B C H C 1 C F B E 2 A E D F 3 C H A D 4 (2)游戏者通过坐标(1,2).(3,4)判定第一行第二列的字符与第三行第四列的字符是相同的),判定争取则相应位置的字符消失,如判断错误给出相应的错误提示,允

oracle-新手请教一个sql查询问题,在线等,谢谢

问题描述 新手请教一个sql查询问题,在线等,谢谢 一张激活表TL_CSU_ACTIVATE_LOG: 一张用户表TV_CSU_USER 现在要查询2014-12to2015-12每月注册的不同类型(T,B,M,D)用户数,如下图: sql 应该怎么写 解决方案 参考Oracle行列转换 因为你的类型是固定的,所以直接查询,如果你的类型不固定,可以参考上面的链接. SELECT TT.Month ,SUM(CASE WHEN TT.TYPE = 'B' THEN Count ELSE 0 END

c语言-java小宝宝请教一个弱弱的问题。还请留步指教。

问题描述 java小宝宝请教一个弱弱的问题.还请留步指教. 各位高人,本人新手一枚.自己写的十六进制转化为十进制.有一点瑕疵就是,当提示输入一个数的时候,如果我什么都不输入,直接按enter(回车),程序就会陷入死循环,不能动了,只能Ctrl +c退出,搞不懂为什么,作为处女座,很难受. 自己琢磨了好久没琢磨出来.还请大大们指教指教,不胜感激. import java.util.Scanner; public class Test{ public static void main(String

c语言-求大神留步,帮小弟解答一个小问题。谢谢啦

问题描述 求大神留步,帮小弟解答一个小问题.谢谢啦 我是一名大学生,学习软件工程大数据方向,想问大神大概需要什么配置的电脑,显卡是核心显卡的是否可以学习,我不怎么玩游戏, 解决方案 只有学美工和3D游戏模型的才需要好的显卡.软工方向不会要求电脑的显卡配置高. 1.如果不确定自己将来在什么平台工作,建议你买windows系统的电脑(因为可能你以后会对ios编程感兴趣).能买win7尽量不要win10.win8不考虑(朋友的mysql安装在win8上出了很多次问题,貌似win8.1好多了,还是建议不

c语言-请教一个关于socket的问题

问题描述 请教一个关于socket的问题 代码中有这样一段 if ((m_UDPSndrSocket = WSASocket(AF_INET, SOCK_DGRAM, IPPROTO_UDP, NULL, 0, WSA_FLAG_OVERLAPPED)) == INVALID_SOCKET) { AfxMessageBox("Failed to create UDPSocket"); return FALSE; } 然后出现了这样的错误 error C2065: 'WSASocket'

c语言-请教一个C编程 打印输出图像的算法编程

问题描述 请教一个C编程 打印输出图像的算法编程 解决方案 大概就是这样,建立笛卡尔坐标系. 用point()函数里的嵌套for循环来输出每一个字符,然后把代表坐标的i和j传递给getChar()函数通过坐标来决定输出的是什么字符. 解决方案二: char getChar(int x,int y,int n) { if(x<0) x=-x; if(y<0) y=-y; if(x>y) { if(n-x<=2) return 'x'+n-x; else return '0'+n-x-