#include stdio.h
为团风等地区用户提供了全套网页设计制作服务,及团风网站建设行业解决方案。主营业务为网站设计、成都做网站、团风网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
#include string.h
int main() {
char line[100];
int alphabetic(char),i;
int longest(char[]);
printf("input a line:\n");
gets(line);
for(i = longest(line);alphabetic(line[i]);i++)
printf("%c",line[i]);
printf("\n");
return 0;
}
int alphabetic(char x) {
if('a' = x x = 'z' || 'A' = x x = 'Z') return 1;
return 0;
}
int longest(char str[]) {
int i = 0,len = 0,maxlen = 0,index,start;
while(str[i]) {
while(str[i] !alphabetic(str[i])) ++i; // 过滤掉非英文字符
len = 0;
index = i;
while(str[i] alphabetic(str[i])) { // 统计单词的字符个数
++len;
++i;
}
if(len maxlen) {
maxlen = len;
start = index;
}
}
return start;
}
var是函数作用域,而let是块作用域。在函数内声明了var,整个函数内都是有效的,在for循环内定义了一个var变量,实际上其在for循环以外也是可以访问的,而let由于是块作用域,所以如果在块作用域内(for循环内)定义的变量,在其外面是不可被访问的。
1、如果在全局作用域中用var声明变量,此变量会默认成为window的一个属性,let声明的变量则不会添加到window对象中。
2、在es6之前,是没有块级作用域,所谓块级作用域,就是用{}包含的区域,我们常用的有for,while,if等。但是在块级作用域中用let声明变量,那么此变量就有了块级作用域,就必须只有在此块级作用域才能访问此变量。
3、var声明的变量有变量提升特性,let声明则没有这个特性。变量提升:请点击:javascript中的变量提升的简单说明。
4、var可以允许重复声明相同的变量,后者会覆盖前者,let则不能重复声明相同的变量。
变量 和 常量的区别
使用 let 来声明常量,使用 var 来声明变量。一个常量的值在编译时并不需要获取,但是你
只能为它赋值一次。也就是说你可以用常量来表示这样一个值:你只需要决定一次,但是需 要使用很多次。
仔细阅读下The Swift Programming Language就知道了。这是基础问题。