申論 1關於以下C程式碼:01#include<stdio.h>02#define SIZE 1003#define THREE 304unsigned int f1(unsigned int a, unsigned int b){ return (a&&!b); }05unsigned int f2(unsigned int a, unsigned int b){ return (a<<b);}06unsigned int f3(unsigned int a, unsigned int b){ return (a&~b);}07int f4(int a, int b) { return a*b+a-b;}08int f5(int a, int b) {09int data[SIZE];10for (int i=1, k=0; i<a; i++) {11if (i%3==0) data[k++]=f4(i, i+1);12}13return data[b];14}15int f6(int a, int b) {16int data[][THREE] = {{4,3,2},{3,4,2},{2,3,3}};17for (int i=0; i<THREE; i++) {18for (int j=0; j<THREE; j++) {19if (i>a || j>b)20data[i][j]= data[j][i]+b;21}22}23return data[a][b];24}25int main() {26printf("%u\n", f1(6, 2));27printf("%u\n", f2(6, 2));28printf("%u\n", f3(7, 2));29printf("%d\n", f4(3, 12));30printf("%d\n", f5(15, 3));31printf("%d\n", f5(3, 15));32printf("%d\n", f6(1, 1));33printf("%d\n", f6(3, 2));34return 0;35}請說明程式執行後,程式碼編號26~33的輸出,以及其運算邏輯。(25分)