char arr[10]="hello";
Run Code Online (Sandbox Code Playgroud)
我猜&arr这个数组是类型的char(*)[10].如果我是对的,那是什么类型的*(&arr)?是数组中第一个元素的类型基址还是地址?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{ char* key="844607587";
while(*key!=0){
printf("hello world,%c\n",*key);
key++;}
}
Run Code Online (Sandbox Code Playgroud)
为什么程序不能停在零位数?然后0是什么意思?那个没有''的人
如何从Windows 7中的c程序运行另一个程序?我正在使用dev-c ++.这是我的代码:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
int main( void ) {
int result ;
result=system("C:\Dev-Cpp\devcpp.exe\s");
printf("%d",result);
getch();
}
Run Code Online (Sandbox Code Playgroud) 我是Mike McGrath编写的一本名为c ++编程的书的"循环时段".
在书中它解释了while循环如何工作以及它能做什么和不能做什么等.它给出了一个我大部分理解的示例代码,除了本书没有解释的东西,我想知道你是否有人能解释它.
这是代码:
#include <iostream>
#include <vector>
using namespace std ;
int main(){
vector <int> vec(10) ;
int i = 0 ;
while (i < vec.size()){
i ++ ;
vec[i-1] = i ;
cout << " | " << vec.at(i-1) ;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,这就是我读这篇文章的方式,我确信我读错了,因为结果对我来说没有意义:
当我小于10(向量的大小)时继续执行此代码.所以整数i是0,但它在代码开头增加到1.然而,接下来是我很困惑的部分.
它说vec [i-1],为什么他减去1?然后让它等于我?如果我试图让vec[i] = i;程序崩溃.所以我读它的方式是,vec[i - 0 ]必须为0,因为0在while循环的前一步骤中仅增加到1.然后为了显示结果,他再次将命令调用vec.at()到i-1,这进一步让我感到困惑.我根本不明白向量中-1的含义.括号内的含义是否意味着向量中的位置?


我正在尝试完成拼写检查项目并遇到一些问题.我正在尝试使用strlen和strcmp比较文章和字典中的单词,但编译器告诉我标识符"strlen"和"strcmp"是未定义的.我不知道该怎么做.此外,当我加载char(article)到int ArticleLength,它告诉我,我不能烧焦文章INT使用.我是一个初学者,需要一些帮助.到目前为止,这是我的代码.
#include <stdio.h> // provides declarations for printf and putchar
#include <stdint.h> // provides declarations for int32_t uint32_t and the other (new) standard C type
/* You must write this function (spellCheck). Do not change the way the function is declared (i.e., it has
* exactly two parameters, each parameter is a standard (mundane) C string (see SpellCheck.pdf).
* You are expected to use reasonable programming style. I *insist* that you …Run Code Online (Sandbox Code Playgroud) 我已经研究过,在编译时链接发生并在运行时执行.在每个函数的内联函数中,调用代码由内联函数定义替换,但函数调用在运行时完成.但是当我审阅一些书籍时,在编译时替换了代码.谁能告诉我在编译时或运行时完成内联代码替换?
最近我在我的代码块编程,我做了一个小程序只是为了C的爱好.
char littleString[1];
fflush( stdin );
scanf( "%s", littleString );
printf( "\n%s", littleString);
Run Code Online (Sandbox Code Playgroud)
如果我创建了一个字符串,为什么CodeBlocks允许我保存13个字符?
我已经开始使用Turbo C 2.01作为业余爱好项目.是的,DOS版本.自1987年问世以来,我认为它不支持C90 ......除此之外.好吧,它的碎片.该volatile关键字的工作.并且不支持直接K&R; 我尝试了K&R样式声明,出错了.
所以,我想知道什么形式的C Turbo C使用.我敢肯定它是非标准的,但似乎有些一致,而且由于这是当天非常受欢迎的编译器,我确信有一些信息收集......对吗?
我创建了一个具有文本输入最大尺寸的数组.现在,我想删除剩余的不必要的部分,以释放内存.我不允许使用std::string,我char[]只需要使用数组.
另外,如果您更了解如何仅使用char并为文本输入分配动态内存,请帮助我.我不知道用户将输入多少个字符
#include <iostream>
using namespace std;
int main()
{
char *text = new char[256];
cout << "Input text: ";
cin.getline(text,256,'\n');
while (cin.fail())
{
cin.clear();
cin.ignore(numeric_limits<streamsize>::max, '\n');
cout << "Input text: ";
cin.getline(text,256,'\n'); //need to delete part after '\n';
}
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我正在读"C简而言之",并且有很多与此类似的句子:
语句指定要执行的一个或多个操作,例如为变量赋值,将控制传递给函数或跳转到另一个语句.
我的问题是"执行"这些行为的是什么?
我已经在这里和那里读过C被定义为在抽象机器上运行,所以我的猜测是抽象机器应该执行这些操作,而像gcc这样的实际编译器的工作是确保如果你在精神上评估一个程序基于抽象机器的工作方式,你会得到与实际运行编译器生成的目标文件时相同的结果(在大多数情况下,在心理上评估程序是不可能的,但我在理论上讲这里).
抽象机器应该直接解释C代码(在预处理之后)吗?C应该被翻译成抽象机器解释的一些中间代码吗?抽象机器和C之间究竟有什么关系?
程序可见的抽象机的状态是什么?只有主存?如果抽象机器直接解释C代码,如何评估声明,它们如何改变抽象机器的状态?最后一系列问题只是为了让您了解C与它的抽象机器之间的精确关系是什么意思.
c ×8
c++ ×3
arrays ×1
codeblocks ×1
dictionary ×1
loops ×1
pointers ×1
strcmp ×1
string ×1
strlen ×1
turbo-c ×1
vector ×1
while-loop ×1