关于指针的问题,求助
本帖最后由 风之残月 于 2014-11-10 10:26 编辑#include<stdio.h>
#include<stdlib.h>
int main()
{
int *p;
char *str;
p=(int*)malloc(sizeof(int));
str=(char*)malloc(sizeof(char));
printf("请输一个整数:\n");
scanf("%d",p);
printf("请输一个字符串:\n");
scanf("%s",str);
printf("你刚刚输入的整数为:%d\n",*p);
#include<stdio.h>
#include<stdlib.h>
int main()
{
int *p;
char *str;
p=(int*)malloc(sizeof(int));
str=(char*)malloc(sizeof(char));
printf("请输一个整数:\n");
scanf("%d",p);
printf("请输一个字符串:\n");
scanf("%s",str);
printf("你刚刚输入的整数为:%d\n",*p);
printf("你刚刚输入的字符串为:%s\n",str);
return 0;
}
这段代码是正确的,但是我很疑惑,为什么这一句printf("你刚刚输入的字符串为:%s\n",str);这个str为什么没有取值操作符*.我非常的不能理解.
本帖最后由 oggplay 于 2014-6-16 17:15 编辑
main(){
char string[]=”I love China!”;
printf("%s\n",string);
}main(){
char *string=”I love China!”;
printf("%s\n",string);
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *str;int i;
str=(char*)malloc(sizeof(char));
printf("请输一个字符串:\n");
scanf("%s",str);
printf("你刚刚输入的字符串为:");
for(i=0;i<20&&(str!=0);i++)
printf("%c ",*(str+i));
printf("\n");
printf("你刚刚输入的字符串为:");
for(i=0;i<20&&(str!=0);i++)
printf("%c ",str);
printf("\n");
return 0;
}仔细体会一下就可得到答案 #include<stdio.h>
#include<stdlib.h>
int main()
{
int *p;
char *str;
p=(int*)malloc(sizeof(int));
str=(char*)malloc(sizeof(char));
printf("请输一个整数:\n");
scanf("%d",p);
printf("请输一个字符串:\n");
scanf("%s",str);
printf("你刚刚输入的整数为:%d\n",*p);
printf("你刚刚输入的字符串为:%s\n",str);
return 0;
}这个才是代码,上面的弄错了 不要沉哦,,求解决A 字符串第一个字符本身就是地址了 oggplay 发表于 2014-6-16 10:58 static/image/common/back.gif
仔细体会一下就可得到答案
这个不错 字符串第一个字符本身就是地址了,自己体会下
页:
[1]