String Idk如果我的ide被窃听或什么,但我需要帮助,请
好吧,我一直在学习CS50EDX课程,一直在使用他们的ide。我今天继续写,输入了非常简单的代码,看看我是否记得。我不知道我是不是很笨,但是当我把这段代码放进去的时候,我得到了一个错误:“format指定类型‘char*’,但是参数的类型是‘string*”(又名‘char**’)[-Werror,-Wformat] scanf(“%s”、&name);“ 我有其他类似的代码,几乎相同的代码,它工作得很好。请帮忙,那将非常感激。(我是初学者)String Idk如果我的ide被窃听或什么,但我需要帮助,请,string,cs50,String,Cs50,好吧,我一直在学习CS50EDX课程,一直在使用他们的ide。我今天继续写,输入了非常简单的代码,看看我是否记得。我不知道我是不是很笨,但是当我把这段代码放进去的时候,我得到了一个错误:“format指定类型‘char*’,但是参数的类型是‘string*”(又名‘char**’)[-Werror,-Wformat] scanf(“%s”、&name);“ 我有其他类似的代码,几乎相同的代码,它工作得很好。请帮忙,那将非常感激。(我是初学者) #包括 #包括 内部主(空) { 字符串名; pri
#包括
#包括
内部主(空)
{
字符串名;
printf(“名称:”);
scanf(“%s”、&name);
printf(“你好%s”,名称);
}
从youtube复制的代码对我不起作用:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char name[10];
printf("Name: ");
scanf("%s", &name);
printf("Hello %s", name);
}
#包括
#包括
内部主(空)
{
字符名[10];
printf(“名称:”);
scanf(“%s”、&name);
printf(“你好%s”,名称);
}
当我在这里搜索时:
string
声明为typedef char*string代码>因此您的代码有两个问题
您没有为字符串分配内存,这可能会导致编译后崩溃
您没有正确使用scanf
。您应该直接传递字符串
变量,而不是通过它的地址
我不知道cs50.h
中的string
是什么类型,但正如我所看到的,错误是您正在传递一个char**
。请尝试向我们显示定义了string
的标题,或者尝试将*name
传递给scanf
。请不要垃圾邮件发送不相关的标记。将*name传递给scanf是什么意思?idk我认为字符串是ide自带的,因为我们不知道字符串是从哪里来的,它是什么scanf
获取分配的char
数组的地址,或指向char
内存的指针string
不是C标准的一部分,因此为了帮助您,您必须描述string
是什么,比如查看它的标题。Idk它来自哪里,因为如果删除标题,它仍然知道什么是字符串。我认为这是ide的一部分,但我实际上不知道。我看了一段youtube视频,我输入了他的代码,但对我来说不起作用。我通过使用char以不同的方式获得了它。我感谢帮助,结果发现我只是个傻瓜,忘记了为了使用“string”,我必须使用cs50标题并输入“string name=get_string”(“你叫什么名字?”);始终检查您的第三方标题以查看库的接口和数据结构。我会的。再次感谢您。非常感谢。请确保将主题标记为已解决。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char name[10];
printf("Name: ");
scanf("%s", &name);
printf("Hello %s", name);
}