(o゚▽゚)o 欢迎

不积跬步无以至千里,愿与君共勉!

C语言中对于for语句,变量赋初值问题探讨

  在C语言编程中很多时候会用到for语句循环,这就需要对for循环里面所涉及的变量赋值,有时赋值赋不对则会造成结果的错误。

  下面就我在编程中所涉及的问题进行详解。

  例如:打印所有不超过256的,其平方具有对称性质的数即回文数。

程序如下:

#include <stdio.h>


int main()
{
    int a[5], n, i, c, j ;
    for ( i =1; i < 256; i++ )
    {
        long int y, k = 0;
        c = 1;
        j = 0;
        y = i * i;
        while ( y > 0 )
        {
            a[j] = y % 10;
            y /= 10;
            j++;


        }
        for (; j > 0; j--)
        {
           k += a[j-1] * c;
           c *= 10;
        }

        if ( i * i == k )
            printf("%d ", i);
    }
    printf("\n");


}

  程序很简单我之所以出现问题,是在第三个for循环中,对变量k、c的赋值出现了错误,原因在于之前将k、c的初值赋在了第一个for循环外即第一行的Int中,这就导致在每一次for循环中,k、c的值都没有回到初值,一直保留上一次循环中的值,从而导致结果出错。

  因此,对for语句中初值的设定,以及每一次循环后其值的变化,需要认真分析。


阅读更多
版权声明:不积跬步无以至千里,愿与君共勉! https://blog.csdn.net/Crazy_Tengt/article/details/71023104
个人分类: C 学习笔记
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

C语言中对于for语句,变量赋初值问题探讨

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭