欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6971|回復: 24
收起左側

C語言新手上路 請賜教

  [復制鏈接]
ID:812266 發表于 2020-8-7 19:22 | 顯示全部樓層 |閱讀模式
        for(z=0;z<16;z++)
        z++;
        delay(100);

        P0=smguan[z];
這樣子 z的數值變化時 那個中括號里的z會跟著變化嗎 為什么?

回復

使用道具 舉報

ID:213173 發表于 2020-8-8 07:07 | 顯示全部樓層
估計樓主抄錯,如果for下面沒有花括號只能執行for循環下面第一行指令。如是這樣這個for循環沒有實際意義。加上花括號P0=smguan[z]就是z初次為1,按2遞增,依次為1.3.5.7.9.11.13.15,數碼管按序顯示1、3、5、7、9、B、D、F。

for(z=0;z<16;z++)//第一個表達式為給變量賦初值,只執行一次。
                  //第二個表達式為判斷標準,若為真,則執行下面的指令,否則將跳出循環
                  //第三句為更改變量值的指令。然后再執行第二個表達式判斷,如此重復直至為假結束循環。
{
     z++;
     P0=smguan[z];
     delay(100);
}
回復

使用道具 舉報

ID:86926 發表于 2020-8-8 08:27 | 顯示全部樓層
當然會,因為這個變量是同一個變量,定義變量的時候就是設置了一個內存,這個內存叫做Z,當這個內存Z的值發生改變,而你又剛好用到它,那這個內存中的值為什么不會變呢;就好比你買了一個錢包,拿到手后你放了一百塊錢進去,然后你上午買了一瓶1塊錢的水,下午又買了一個20塊錢的西瓜,中間這段時間如果你沒放過錢進去那肯定是從99塊錢里拿出的20塊錢。為什么會變?因為花的是同一個錢包里的錢。
回復

使用道具 舉報

ID:592807 發表于 2020-8-8 08:39 | 顯示全部樓層
會,因為他們是同一個變量,而且z++在for循環內部
回復

使用道具 舉報

ID:609192 發表于 2020-8-8 09:12 | 顯示全部樓層
你是不是發少了點東西,看上去好像是傳遞參數方面的相關知識
回復

使用道具 舉報

ID:254131 發表于 2020-8-8 11:13 | 顯示全部樓層
建議參考循環控制
回復

使用道具 舉報

ID:384415 發表于 2020-8-8 17:23 | 顯示全部樓層
下面的z始終是15,沒有在循環里面,不會變的
回復

使用道具 舉報

ID:592807 發表于 2020-8-10 08:16 | 顯示全部樓層
紅衣菇涼 發表于 2020-8-8 17:23
下面的z始終是15,沒有在循環里面,不會變的

你該去溫習一下C的for循環
回復

使用道具 舉報

ID:812792 發表于 2020-8-10 10:46 | 顯示全部樓層
必然是會的,z在for循環內部,當進行z++的時候z肯定會變化的,所以最后z的結果是z++的最終結果
回復

使用道具 舉報

ID:473159 發表于 2020-8-10 11:51 | 顯示全部樓層
說多不意義,自己拿去編一下就明白
#include <stdio.h>
int  z;
int  main()
{
       
    for(z=0;z<16;z++)
                z++;
        printf("%d\n",z);
        //      delay(100);
//        P0=smguan[z];  //Z的值就只最后一次結果16
        return 0;
}
回復

使用道具 舉報

ID:809311 發表于 2020-8-10 13:24 | 顯示全部樓層
我也沒玩過C和C➕➕。
回復

使用道具 舉報

ID:812930 發表于 2020-8-10 15:04 | 顯示全部樓層
z是共用了  更改了一個z其他的z也就更改了
回復

使用道具 舉報

ID:64817 發表于 2020-8-10 16:44 | 顯示全部樓層


當然會,z<16后跳出 for循環
回復

使用道具 舉報

ID:813486 發表于 2020-8-12 12:34 | 顯示全部樓層
如果z是全局變量的話,會。
回復

使用道具 舉報

ID:813624 發表于 2020-8-12 17:50 | 顯示全部樓層
樓主程序可能是漏掉了大括號,如果按照這個程序的話只有一行z++是被for循環控制。1.在同一個代碼塊({~}之間)內會發生變化
回復

使用道具 舉報

ID:813624 發表于 2020-8-12 17:53 | 顯示全部樓層
樓主代碼可能是漏掉了大括號{},for循環只控制之后的一條語句,即z++
而且for循環內就已經有了z++,再在代碼塊內寫z++會讓z+=2
同一個代碼塊({~}之間)內同名的變量就是同一個變量,在一處修改他的值其他地方調用都是一致的,所以會影響后面的值
回復

使用道具 舉報

ID:347954 發表于 2020-8-15 20:36 | 顯示全部樓層
初學者不要懶,括號要加全
回復

使用道具 舉報

ID:700528 發表于 2020-8-16 11:35 | 顯示全部樓層
會跟著變化,for循環沒有大括號也執行之后的第一條語句,變成 for(z=0;z<16;z++){z++;}直到Z=16跳出循環執行下面的語句。
回復

使用道具 舉報

ID:146782 發表于 2020-8-16 12:28 來自觸屏版 | 顯示全部樓層
for語句沒有循環體,p0口顯示的都是固定的值,
回復

使用道具 舉報

ID:805376 發表于 2020-8-16 12:31 | 顯示全部樓層
當然會變,是同一個變量啊
回復

使用道具 舉報

ID:814627 發表于 2020-8-16 13:16 | 顯示全部樓層
會的,z在for循環內部自加,后面加上括號就對了,可以編譯試試
回復

使用道具 舉報

ID:814661 發表于 2020-8-16 15:33 | 顯示全部樓層
缺少{ }  所以  P0=smguan[z];  不在循環范圍內, 因此等for循環完成后,z=16,然后才會執行P0=smguan[16];
回復

使用道具 舉報

ID:814661 發表于 2020-8-16 15:33 | 顯示全部樓層
因為缺少{ }
回復

使用道具 舉報

ID:833190 發表于 2020-10-23 17:45 | 顯示全部樓層
會變得,你可以單步執行看變量值
回復

使用道具 舉報

ID:378665 發表于 2020-10-23 19:37 | 顯示全部樓層
當然會
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表