若有以下定义: struct node { int data; struct node *next; } struct node m,n,k, *head, *p; 已建立如下图所示的链表: m n k ┌──┬──┐ ┌──┬──┐ ┌──┬──┐ head →│data│next┼ →│data│NULL│ p → │data│next│ └──┴──┘ └──┴──┘ └──┴──┘ 指针head指向变量m, m.next指向变量n,p指向变量k,不能把结点k插到m和n之间形成新链表的程序段是( )。
以下程序的输出结果是( )。 main() { printf( "%d\n", fac(5) );} fac(int n) { int s; if(n==1) return 1; else return n*fac(n-1); }
以下程序中的循环执行了( )次。 #define N 2 #define M N+1 #define NUM (M+1)*M/2 main() { int i,n=0; for(i=0;i<NUM;i++) n++; printf("%d\n",n); }
若有以下定义: struct node { int data; struct node *next; } *p,*q; 已建立如下图所示的链表: ┌──┬──┐ ┌──┬──┐ ... p →│data│next┼→│data│NULL│ └──┴──┘ └──┴──┘ ┌──┬──┐ q →│data│next│ └──┴──┘ 不能将指针q所指结点连到上图所示链表末尾的语句是( )。
对于以下程序,说法正确的是( )。 #include <stdio.h> main() { FILE *fp; fp=fopen("quiz.txt", "w"); if(fp!=NULL) { fprintf(fp,"%s\n", "success!"); fclose(fp); printf("ok!"); } }
以下程序的运行结果是( )。 void main() {int i,j, k=0; for(i= 3;i>=1;i- -) {for(j=i;j<=3;j ++) k += i * j ; } printf("%d\n", k); }