请帮小弟我看看这两个for循环有什么不同?小弟我觉得是一样的,输出的结果却不一样
请帮我看看这两个for循环有什么不同?我觉得是一样的,输出的结果却不一样。
下面的两个for我看着是一样结果为什么不一样呢?我的眼睛看花了也没看出什么区别来,但是结果就是不一样,既然结果不一样,一定有什么不同,我看不出来呀。
比如我的文件中有内容:
abc
def
opq
输出的结果为
13
a
abc
def
opq
Press any key to continue
------解决方案--------------------
第一个 for 后面多了一个分号 ;
------解决方案--------------------
前一个for循环多了一个分号:
for(i=last-1; i>=1; i--);
------解决方案--------------------
关于自己是否适合编程的很简单的测试:
在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案:
A里面有10处以上文字或标点错误
B里面没有文字或标点错误并敢为此跟人打赌
C里面没有文字或标点错误并且字体和排版完全与原稿一致
D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感
A不适合编程(理由:打字准确度偏低、粗心大意)
B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念)
C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证)
D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!)
如果想从A变成B的话,到我的资源http://download.****.net/detail/zhao4zhong1/4084259里面下载“适合程序员的键盘练习”
------解决方案--------------------
第一个循环体根本没有循环:
for(i=last-1; i>=1L; i--);
{ ch = getc(fp); putc(ch, stdout); }
下面的两个for我看着是一样结果为什么不一样呢?我的眼睛看花了也没看出什么区别来,但是结果就是不一样,既然结果不一样,一定有什么不同,我看不出来呀。
比如我的文件中有内容:
abc
def
opq
输出的结果为
13
a
abc
def
opq
Press any key to continue
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int main(void)
{
FILE *fp;
int last;
char ch;
int i;
fp = fopen("f:\\123.txt", "r");
fseek(fp, 0L, SEEK_END);
last = ftell(fp);
printf("%d\n", last);
rewind(fp);
for(i=last-1; i>=1L; i--);
{
ch = getc(fp);
putc(ch, stdout);
}
putchar('\n');
rewind(fp);
for(i=last-1; i>=1L; i--)
{
ch = getc(fp);
putc(ch, stdout);
}
putchar('\n');
return 0;
}
------解决方案--------------------
第一个 for 后面多了一个分号 ;
------解决方案--------------------
前一个for循环多了一个分号:
for(i=last-1; i>=1; i--);
------解决方案--------------------
关于自己是否适合编程的很简单的测试:
在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案:
A里面有10处以上文字或标点错误
B里面没有文字或标点错误并敢为此跟人打赌
C里面没有文字或标点错误并且字体和排版完全与原稿一致
D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感
A不适合编程(理由:打字准确度偏低、粗心大意)
B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念)
C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证)
D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!)
如果想从A变成B的话,到我的资源http://download.****.net/detail/zhao4zhong1/4084259里面下载“适合程序员的键盘练习”
------解决方案--------------------
第一个循环体根本没有循环:
for(i=last-1; i>=1L; i--);
{ ch = getc(fp); putc(ch, stdout); }