int main()
{
int N, K, i, j, k, x, final, cur, A[22];
for(i=!!scanf("%d %d",&N,&K), printf("%d\n",(final=N*N)-N);i<=N;A[i++]=i);
for(i=(cur=N)-1; i>=1; i--)
for(j=1; j<=i; printf("%d %d min\n%d %d max\n",A[j],A[j+1],A[j],A[j+1]),A[j]=++cur, A[j+1]=++cur, j++);
for(printf("%d",final-1+(cur=final)*0+(x=2)*0); cur>N; printf(" %d",cur), cur-=x, x+=2);
return 0;
}
請解釋在第一個「for」語句中使用2個感嘆號。請解釋一下代碼?
你知道C中單個感嘆號的含義嗎? (修辭問題,如果你不這樣做,你應該閱讀你的基本C)現在申請兩次! – usr2564301
單個感嘆號「!」意味着採取邏輯NOT,所以申請。所以它的值將是0或1.取決於scanf的返回值。做'man scanf'來找出更多關於它的信息。當它返回應該告訴哪兩個的成功/失敗!意思。 – gabhijit
該代碼需要格式化,它不是所有可讀的。我現在會做,但請記住它之後。 –