有谁能告诉我scanf能不能读入char * 类型的变量?
答案:1 悬赏:20 手机版
解决时间 2021-04-05 23:43
- 提问者网友:两耳就是菩提
- 2021-04-05 11:38
有谁能告诉我scanf能不能读入char * 类型的变量?
最佳答案
- 五星知识达人网友:青灯有味
- 2021-04-05 12:17
char *n; 是指针,它没有数据存放单元,(你可以做动态分配,或指向已知的存储区)。所以 不能简单地 执行 scanf("%d",n);
n 是 char 型指针,只能用于指向 char 型。输入语句不能用格式 %d,只允许用 %c , %s 这种格式。
下面这样可以完成你的任务 输入123456789(\0),输出23456789(\0):
#include
char *n;
int main()
{
char s[100];
n=s;
scanf("%s",n);
printf("%s",n+1);
return 0;
}追问可以在c++里用
char buf[];
吗(中括号里没有数字)追答不可以。char buf[]; 会 有 “unknown size”编译错误。
若带初始化 char buf[]="abcde"; 才是正确的。追问谢
n 是 char 型指针,只能用于指向 char 型。输入语句不能用格式 %d,只允许用 %c , %s 这种格式。
下面这样可以完成你的任务 输入123456789(\0),输出23456789(\0):
#include
char *n;
int main()
{
char s[100];
n=s;
scanf("%s",n);
printf("%s",n+1);
return 0;
}追问可以在c++里用
char buf[];
吗(中括号里没有数字)追答不可以。char buf[]; 会 有 “unknown size”编译错误。
若带初始化 char buf[]="abcde"; 才是正确的。追问谢
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯