c-strings

    12热度

    4回答

    我不是C程序员,所以我不熟悉C字符串,但是我必须使用C库,因此这里缩短了我的代码版本来证明我的问题: char** ReadLineImpl::my_completion() { char* matches[1]; matches[0] = "add"; return matches; } 我得到一个警告: 警告 - 与局部变量相关的堆栈存储器的地址“

    1热度

    2回答

    我是cpp的初学者,并对以下代码有问题。通常它应该根据argv [1]显示文本,但它不显示任何内容。 我在做什么错? #include <stdio.h> int main (int argc, char* argv[]) { if(argv[1] == "a" && argc > 1) printf("hello world, argc: %d\n", argc);

    -2热度

    5回答

    以下两个程序使用一些基本的指针操作。但他们的表现不同。 #include<stdio.h> #include<string.h> int main(void){ int a = 1; int b = 2; int *pb, *pc; pb = &a; pc = pb; pb = &b; printf("%d %d\n",

    1热度

    3回答

    我为字符串定义了一个数组。如果我以这种方式定义它,第一个元素不是空字符串,它工作正常。当其为空字符串时,其他字符串的下一个scanf()将停止读取输入字符串,并停止执行程序。 现在我不明白如何定义字符串数组影响读取输入scanf()。 char *str_arr[] = {"","abc","","","b","c","","",""}; // if first element is "abc"

    1热度

    4回答

    美好的一天, 所以我决定再去槽我的C和开始做一个简单的搜索字符串中的单词串词。 这里是我的代码: #include<stdio.h> #include<conio.h> #include<string.h> main(){ char word[100]; char sentence[100]; clrscr(); printf("Enter a word: "); fgets(

    -3热度

    1回答

    帮助我解决这个问题。我在ubuntu12.04上使用GCC。当我编写这个程序从键盘n获得5个字符串时,然后在屏幕上打印这些字符串。程序被编译,但在执行期间,它从键盘获取字符串,但只打印最后一个字符串我所编写的程序是如下: void main() { char names[10]; int i,j; for(i=0;i<5;i++) { pr

    -2热度

    3回答

    是不是说编译器自动添加了终止C字符串的null是正确的? 因此,在下面的例子: char * str = "0124"; printf("%x", str[str[3] - str[2] + str[4]]); 输出总是32? 谢谢。

    0热度

    2回答

    我需要像这样 const char **nodeNames[] = { {"RootNode", "Reference", "Node_1", "Node_2", "Node_3"}, {"RootNode", "Hips", "Node_1", "Node_2", "Node_3"}, {"RootNode", "Heviest", "Node_1", "Node

    0热度

    1回答

    我对C很新,因此作为我学习的一部分,我想创建一个函数,它只是返回一个字符串,它是输入中的下一行没有任何需要的论据。 这是我到目前为止有: #define BUFFER 256 char *str; char *getline() { if (str == 0) str = (char*)calloc(BUFFER, sizeof(char)); if (fge

    37热度

    3回答

    当终止字符串时,在我看来逻辑char c=0等于char c='\0',因为“null”(ASCII 0)字节是0,但通常人们倾向于做'\0'。这完全是出于偏好还是应该是一个更好的“实践”? 什么是首选? 编辑:ķ&ř说:“字符常量'\0'代表具有值零的字符,空字符'\0'通常写作代替0以强调字符性质。的一些表达式,但数值仅为0。