溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C++中signed?main和int?main有哪些區(qū)別

發(fā)布時間:2021-12-10 10:46:32 來源:億速云 閱讀:458 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)C++中signed main和int main有哪些區(qū)別的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

 前言

看見大佬的C++代碼,主函數(shù)"int main"打成了"signed main",心生疑問,便去查閱。

#pragma Gcc optimize(3,"inline","Ofast");
#include<bits/stdc++.h>
using namespace std;
#define int long long
typedef long long ll;
 
signed main(){
    double d;cin>>d;
    printf("%.1f",d/59535);
}

因為頭文件聲明:#define int long long,然后int main改成signed main就行了

個人平時寫代碼最簡單的缺省源是:

#include<bits/stdc++.h>
#define int long long
using namespace std;
signed main(){
    return 0;
}

注意到 #define int long long 而 main 函數(shù)必須返回一個 int 值,所以不能使用 int main()。

那怎么辦呢?通常使用 signed main,因為 signed 等效替代于 signed int,也就是有符號整型,這與 int 別無二致,并且不會導(dǎo)致奇怪的 CE。

int本來就是signed int。int = signed int = signed,就像unsigned = unsigned int

當(dāng)你不確定過程中會不會爆 int 的時候,可以這么寫。

同樣的字節(jié)數(shù),如果保存符號位,范圍為正負,數(shù)字位相對少一,絕對值范圍小

總結(jié):

頭文件聲明#define int long long,防止爆int

主要區(qū)分

#define ll long long
int main(){
    ll int x;
    scanf("%lld",&x);
}
 
#define int long long
signed main(){
 	...
}

一種獨特的定義longlong的方法:

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int p=1e9+3;
int T,n,m,a,fac[100010]={1};
signed main()
{
    for(int i=1;i<=100000;i++)   fac[i]=fac[i-1]*i%p;
    scanf("%lld",&T);
    while(T--)
    {
        int res=1,ans=1;
        scanf("%lld %lld",&n,&m);
        for(int i=1;i<=n;i++)    scanf("%lld",&a),res=res*fac[a]%p;
        for(int i=1;i<=m;i++)    scanf("%lld",&a),ans=ans*fac[a]%p;
        if(res==ans)    puts("equal");
        else    puts("unequal");
    }
    return 0;
}

感謝各位的閱讀!關(guān)于“C++中signed main和int main有哪些區(qū)別”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

c++
AI