注册 登录
编程论坛 C++教室

关于C语言的一些习题。求解啊。

桃子丶 发布于 2010-10-11 20:16, 436 次点击
1、
#include<stdio.h>
main()
{int a,b,d=121;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b}  输出结果是多少?


2、以下for语句构成的循环执行了多少次
#include<stdio.h>
#define N 3
#define M N+1
#define NUM(M+1*M/2)
main()
{int i,n=0;
for(i=1;i<=NNUM;i + +)
    {
          n  + +;
          printf("%d",n);
          }
printf("\n");}

3、有以下程序:
#include<stdio.h>
#define N 5
main()
{char c[N];int i=0;
for(;i<N;c[i]=getchar(),i + +);
for(i=0;i<N;putcar(c[i],i + +);}
输入以下三行,每行输入都是在第一列上开始,<CR>代表一个回车符:
ab<CR>
bd<CR>
csef<CR>
程序的输出结果是?

4、设有以下语句:
char str1[]="string",*str2,str3[8],*str4="string";
则不是对库函数strcpy的正确调用的是什麽(库函数用于复制字符串)



麻烦给为帮忙。。~
2 回复
#2
2010-10-11 21:32
第一题
a = 9  b = 1

第二题
这里就是把宏完整的替换一下  就知道了
#define N 3
#define M N+1
#define NUM(3+1+1*3+1/2)   

根据计算得结果7

第三题
ab<CR>
bd<CR>
csef<CR>
一共循环5次  c[0] = 'a', c[1] = 'b', c[2] = 'b', c[3] = 'd', c[4] = 'c';
//没测试不知道对不

第四题
char str1[]="string"      //储存在栈内存  可以修改
char *str2;               //野指针  没有空间  不可直接给内容   需先让其指向有效内存  才可使用
char str3[8]              //储存在栈内存 可以修改  
char *str4 = "string";    //指针的值可修改    指向的内容是常量字符串  不可修改   可以当源操作数    不可当目的操作数
则不是对库函数strcpy的正确调用的是什麽(库函数用于复制字符串)

上边那个什么不是对库函数正确调用没看明白   是当目标字符串还是源字符串啊??

不过。我把属性给标上了   就是那快内存是否可改

 


#3
myth_feng2010-10-13 14:09
第一题 1,1 。。。
1