如何scanf()在不使用fgets()或使用C语句中完整句子gets()
我想从用户扫描命令行,并根据第一个单词识别命令.例如:mkdir
所以我需要认识到用户想要创建一个名为"dir_name"的新目录.
我的代码:
int main(){
char *ch=malloc(sizeof("50");
while (strcmp(ch,"exit")!=0){
scanf("%[^\n]",ch);
}
Run Code Online (Sandbox Code Playgroud)
当我输入第一句后输入这段代码然后按回车键进入无限循环我不知道为什么?
假设我在C中使用多个.c文件处理一个大项目,有什么理由我更喜欢有多个头文件而不是单个头文件?
还有一个问题:
比方说,我有3个文件:header.h,main.c和other.c.
我有一个名为的函数func(),它只在文件中定义和使用other.c.我应该将函数原型放在头文件或文件中other.c吗?
我有一个登录/注册菜单项,其访问级别设置为访客,因此当用户登录时,它会隐藏。
当用户使用此菜单项成功登录时,它会将他们重定向到主页(我认为这是默认操作),然后用户访问的下一页会收到错误“您无权查看此资源”。出现在页面标题上方,但无论页面是哪个页面,页面仍然可以正常加载。这只发生在他们访问的第一个页面上,如果他们刷新页面,错误就会消失。
但是,如果我将菜单项访问级别更改为 public 一旦用户成功登录菜单项仍然可见并显示用户帐户信息(没有重定向到主页)现在当用户单击任何其他页面时没有错误并且页面显示正常?
我正在使用 Joomla 版本 3.4.8。
我现在已经使用了程序,试图更好地理解Php中的OOP.从1号方面开始,我有一个快速的问题,让它凝固.许多基本示例显示静态值,例如,$bob->name = "Robert";在分配值时.但是我希望传递动态值,比如说:$name = $_POST['name'];
class Person {
// define properties
public $name;
public $weight;
public $age;
public function title() {
echo $this->name . " has submitted a request ";
}
}
$bob = new Person;
// want to plug the value in here
$bob->name = $name;
$bob->title();
Run Code Online (Sandbox Code Playgroud)
我想我在某些领域有点挂起,只要从类中获取变量,封装和"规则"等,可以$ name = $ _POST ['name']; 住在课堂外的任何地方,还是我错过了一个重点?
谢谢
我以为我理解了指针语法,但是有一些小事件让我失望,例如:
int *ptr;
int array[4] = {1,2,3,4};
int *arrayEnd = array + n;
for (ptr = array; ptr < arrayEnd; ++ptr)
sum += *ptr;
return sum;
Run Code Online (Sandbox Code Playgroud)
我们怎么做ptr = array而不是*ptr = array定义for循环?
我也不明白为什么当一个函数的参数是一个指针时,我们不使用星号.
我function(ptr);在书中看到了这一点,但为什么不这样:function(*ptr);.
假设我们有一个像这样的字符指针:
static char *example[]={"doctor","who","hello"};
Run Code Online (Sandbox Code Playgroud)
我对这个例子中发生的事情感到有些困惑.
指针example只是有自己的地址吗?
我在数组中的字符串每个都有一个不同的内存地址*example
吗?
指针是否example只是简单地引用每个地址,并初始化每个地址中的内容,如字符串声明所示?
我只是在使用C几个月,所以我只是想抓住事情的具体细节,我听说指针是C单手最重要的方面.
我想知道有没有其他方法可以在一行中交换2个数字,当然没有第3个变量.
我知道这样做的一种方法:
b=a+b-(a=b)
Run Code Online (Sandbox Code Playgroud)
要么
a=a+b-(b=a)
Run Code Online (Sandbox Code Playgroud)
两者都相同(大约).如果你知道那么请帮助我.