c语言小程序
1. 运行下面的程序,其运行结果的最后一行是“over.”吗?
#include <stdio.h>
int main()
{
unsigned char i;
for (i=0; i<=255; i++) {
printf(“******n”);
}
printf(“over.n”);
return 0;
}
请选择: A. 是 B. 不是
2. 运行下面的程序,其运行结果是3吗?
#include <stdio.h>
int* fun() {
inta, *p = &a;
a=3;
returnp;
}
void fun1() {
int a, *p = &a;
a=5;
}
int main()
{
int*s;
s= fun();
fun1();
printf(“s=%dn”,*s);
return 0;
}
请选择: A. 是 B. 不是 C.不一定
3. 下面两个程序的运行结果一样吗?
// 程序1
#include<stdio.h>
intmain() {
char str[5][255];
int i,max,p,len;
for (i=0;i<5;i++) gets(str[i]);
printf(“n输入的字符串是:n”);
for (i=0; i<5; i++) puts(str[i]);
max=p=-1;
for (i=0;i<5;i++) {
if (max<strlen(str[i])){
max=strlen(str[i]);
p=i;
}
}
printf(“n最长长度是:%d, 行号是:%dn”,max,p);
return 0;
}
// 程序2
#include<stdio.h>
intmain() {
char str[5][255];
int i,max,p,len;
for (i=0;i<5;i++) gets(str[i]);
printf(“n输入的字符串是:n”);
for (i=0; i<5; i++) puts(str[i]);
max=p=-1;
for (i=0;i<5;i++) {
len = strlen(str[i]);
if (max<len){
max=len;
p=i;
}
}
printf(“n最长长度是:%d, 行号是:%dn”,max,p);
return 0;
}
请选择: A. 一样 B. 不一样
答案在下面。
B 2. B或C 3. B
你答对了吗?
如果答对,请问为什么?
如果没有答对,请查找原因。