zoukankan      html  css  js  c++  java
  • tcpl 字符串组 1-9示例理解

    让程序读入一组文本行,并打印最长的一行

    getline函数理解

    #include <stdio.h>
    int c, i;
    const int n = 99;
    char l[n];
    
    main() {
    	//处理一行
    	for (i = 0; (c = getchar()) != EOF && c != '
    '; ++i) {
    
    		l[i] = c;
    		printf("i=%d	1=%c
    ", i, l[i]);
    	}
    	printf("%d
    ", i);
    	if (c == '
    ') {
    
    		l[i] = c;
    		printf("i=%d	2=%c
    ", i, l[i]);
    		i++;
    	}
    	l[i] = '';
    	printf("i=%d	3=%c", i, l[i]);
    	return i;
    }
    

    随便输入

    总函数

    #include <stdio.h>
    #define MAXL 1000
    char line[MAXL];
    char lgst[MAXL];
    
    int getline(char line[]);
    void copy(char lgst[], char line[]);
    
    main() {
    
    	int now, t;
    	int max = 0;
    
    	/*	while ((t = getline(line) ) > max) {
    
    			max = t;
    			copy(lgst, line);
    		}  这是第一次犯的错误,第一次取得最大值就直接返回了*/
    	while ((t = getline(line)) > 0) {//括号!没括号只返回第一行
    		if (t > max) {
    
    			max = t;
    			copy(lgst, line); //都是字符数组,临时保存输入行的字符
    		}
    	}
    	if (max > 0)
    		printf("biiiiiiiiiiiigstis:%s", lgst);
    }
    
    int getline(char l[]) { //处理一行
    	int c, i;
    	for (i = 0; (c = getchar()) != EOF && c != '
    '; i++)
    		l[i] = c;
    	if (c == '
    ') {
    
    		l[i] = c;
    		i++;
    	}
    	l[i] = '';
    	return i;
    }
    
    void copy(char cp[], char orig[]) {
    	int i = 0;
    	while (orig[i] != '') {
    		cp[i] = orig[i];
    		i++;
    	}
    }
    
  • 相关阅读:
    【转】myeclipse中连接mysql数据库
    struts2入门示例(hello world)
    【转】MyEclipse第一个Servlet程序
    学习马士兵的struts2/hibernate/spring中遇到的问题及其解决方法
    typeof关键字
    SHLVL--shell终端深度
    stack
    queue
    getopt--parse command line options
    怎样实时判断socket连接状态?
  • 原文地址:https://www.cnblogs.com/impw/p/14052879.html
Copyright © 2011-2022 走看看