标题:[求助]指针有问题,这是为什么呢??
取消只看楼主
lin_er
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-3-15
 问题点数:0 回复次数:1 
[求助]指针有问题,这是为什么呢??


1.为什么不能把一个指针变量(P)的值(地址)赋给一个整形变量(i)呢?若是一个地址的话,不也是一个整数值吗?

2.设 char *s="\ta\017bc";则指针变量s指向的字符串所占的字节数为:(6)
很显然,这里把“\017”看作是一个八进制数了。我不明白的是,系统不是认为字符串遇“\0”结束吗?这里是如何区分的呢??

3.
#include<stdio.h>
void main()
{
int num_list[]={6,7,8,9},k,j,b,u=0,m=4,w;
w=m-1;
while(u<=w)
{
j=num_list[u];
k=2; b=1;
while(k<=j/2&&b)
b=j%++k;
if(b) printf("%d\n",num_list[u++]); file://结果为: 7 请问:它的运算过程是怎样的啊,我怎么的不出来呢??
else
{
num_list[u]=num_list[w];
num_list[w--]=j;
}
}
}

4.
#include<stdio.h>
void main()
{
printf("Fa(5):%d\n",fa(5));
printf("Fa(1):%d\n",fa(1));
fa(-5);
}

fa(int value)
{
if(value<0) {printf("Fa(<0):Error!\n"); return(-1);} // 这里的值 -1 为什么不返回呢?
else if(value==1||value==0) return(1); // 这里会返回值 1
else return(value*fa(value-1));
}

5.
#include<stdio.h>
#include<string.h>
fun(char *s)
{
char a[7];
s=a;
strcpy(a,"look");
}
void main()
{
char *p;
fun(p);
puts(p); // 果出错 是因为指针p没有被指向某一单元吗?
}

6.
#include <stdio.h>
#include <string.h>
void main()
{
int n;
char t,*s1,*s2;
char *p;
p="1234567";
n=strlen(p);
for(s1=p,s2=p+n-1;s1<s2;s1++,s2--)
{t=*s1;*s1=*s2;*s2=t;}
puts(p); // 为什么无法运行啊?
}

搜索更多相关主题的帖子: void 整形 include 八进制 字符串 
2006-03-25 14:48
lin_er
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-3-15
得分:0 
  时间紧迫,所以一下子问了好多啊,呵呵
2006-03-29 13:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-52699-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.043545 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved