標題: 請教C語言 RETURN用法 [打印本頁]

作者: room07    時間: 2021-2-10 16:53
標題: 請教C語言 RETURN用法
請問那裡出錯??
#include "iom16v.h"
#include <macros.h>

unsigned int i;

int sq(int a)
{
unsigned int c;
c=a*a;
return c;
}


void main(void)
    {
                i=sq(9);
                i=1;
                i=1;
        }

作者: room07    時間: 2021-2-10 17:06
編程通過, 但模擬時出錯 stack over flow
AVR Simulator: Excessive stack overflow, stop sim

作者: csmyldl    時間: 2021-2-10 17:41
數(shù)據(jù)類型應(yīng)該一致,否則結(jié)果不正確
作者: zsw3721    時間: 2021-2-10 18:18
int sq(int a)這義這個函數(shù),int是一個沒有定義過的關(guān)鍵字吧,試試換成unsigned int sq(unsigned int a)
作者: liesnake    時間: 2021-2-10 18:26
unsigned int c,然后return 一個unsigned int的數(shù)給int型的sq函數(shù)。
作者: Hephaestus    時間: 2021-2-10 18:29
哪里都沒有錯。
作者: 人人學會單片機    時間: 2021-2-10 19:07
16位的變量乘以16位的變量 最大值是4294967295,所以必須是32位存儲變量,函數(shù)也必須是32位
作者: tyrl800    時間: 2021-2-10 19:36
沒有錯誤
作者: 游知行合一    時間: 2021-2-10 22:59
我這邊用編譯器加頭文件#include <stdio.h> 是可以過的。
作者: devcang    時間: 2021-2-11 00:54
類型應(yīng)該統(tǒng)一,使用int就統(tǒng)一用int,使用 unsigned int 就統(tǒng)一使用unsigned int。。。。;蛘,在范圍允許情況下,做強制轉(zhuǎn)換。
作者: room07    時間: 2021-2-11 22:03
改了數(shù)據(jù)類型一致,可以了,  謝謝各位 .




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1