‘壹’ c语言编程问题,符号数组。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
intmain(){
intn,i=0,cnt=0;
charsearch[100];
char**records;
scanf("%d",&n);
records=(char**)malloc(sizeof(char*)*n);
for(;i<n;++i){
records[i]=(char*)malloc(sizeof(char)*100);
scanf("%99s",records[i]);
}
scanf("%99s",search);
for(i=0;i<n;i++){
if(strcmp(records[i],search)==0){
++cnt;
}
}
printf("%d ",cnt);
}
‘贰’ C语言中如何读取str字符数组中的每个元素 用字符变量a=str【i】实现不了 高手指点 谢谢
int i;
int str[10]={1,2,3,4,5,6,7,8,9};
main()
{
for(1=0;i<=10;i++)
{
printf("%d",str[i]);//i循环一次也就取str的一个地址
}
}
a=str【i】如果在循环里面用a就能取每个元素,在循环外用就只能取最后一个
‘叁’ C语言中如何将以下数据读入数组
因为我使用的是MFC,所以给个你思路吧,应该都差不多。 首先打开文本,读出每一行的数据,再判断中间是使用Tab隔开的判断符号,然后逐个保存到一个字符串数组中。
简单的写下代码,希望对你有帮助: CStdioFile fFile;
CString str;
CString data[Max_Path],data_value[Max_Path];
fFile.Open((文本的路径),CFile::moderead); //打开文本
fFile.ReadString(str); //读取每一行的值到字符到变量str中
for(int i = 0; i < str.GetLength();i++)
{
AfxExtractSubString(data[i],str,i,'文本中间字符判断的依据');
//每行字符,数字之间分隔的判断依据,然后保存
data_value[i] = data[i];
}
MFC 大概是这样,没有写全,上班忙, 也没验证过。思路大概是这样,你自己研究下。。希望对你有帮助
‘肆’ 在使用c语言数组的时候 如何判断啥时候用字符数组 啥时候用 数据行数组
一般来说,当你要填充的数据是字符或者字符串,我们可以使用字符数组。
如果填充的数据是整型或者其他,我们也需要用相对类型的数组来存储。
数组类型与其中元素匹配最大的好处是,一个元素空间正好存储一个数据,可以根据数组下标非常方便的存储和取出数据。
如果数组与元素类型不匹配,比如一个字符型的数组,要存储一个int型数据,可能就需要占据到四个地址空间,这样我们取值的话需要考虑类型转换,不小心就容易出错。
实际上熟悉后,数据类型转换是很普遍的事儿,不过如果刚学习C语言,建议还是存什么数据,就定义什么类型的数组吧。
‘伍’ C语言数组符号
scanf等输入函数的连续调用可能会出现的问题。你一次调用scanf时将输入送进内存时健入的回车键也是一个字符,而这次调用并不会接它,回车仍保留在输入流中,因此当你接下来调用getchar的时候,正好把输入流中的回车“0xa”读了进来,直接等于了'\n',因此实际你的程序进入f1后直接就向下执行直至f1退出了。
‘陆’ c语言如何使字符数组读取字母变量
char t; //声明 t 是字符变量,它可以存放一个 字符。
char a[20]; // 声明 a 是字符数组。它可以存放20个字符。
如果从键盘读入 一个字符,存放到 t , 可以用: scanf("%c",&t);
如果从键盘读入 一个字符,存放到 字符数组 a 的一个元素里,例如 下标变量 a[0]里,可以用: scanf("%c",&a[0]);
屏幕输出检查: printf("t=%c a[0]=%c\n",t,a[0]);
给 字符变量 t 赋值一个字符常量 用 赋值语句,例如:t='X'; 这时 变量 t 代表 字符值 X。
若要把 t 传递给 字符数组 a, 可以用 sprintf(a,"%c",t);
若要把 t 传递给 字符数组 a, 也可以用 赋值:
t='Y'; a[0]=t; a[1]='\0'; 这里 加了一句 a[1]='\0' 是字符串结束符,以便你输出可以用: printf("%s\n",a);
‘柒’ c语言 文件读取 字符 到一个字符数组
可以通过fgetc函数,将字符读取出来,并赋值到数组的对应位置上。
fgetc声明在stdio.h中,其原型为
int fgetc(FILE *fp);
功能为从打开的文件fp中读取一个字符,并返回。
当读取成功时,返回读取到的字符的ascii码值,否则返回EOF。
以下是逐个读取字符,存于字符数组,直到读完整个文件的例子。
#include<stdio.h>
intmain()
{
charbuf[10240];//定义一个足够大的字符数组存文件数据。
intc;//临时变量。
intcnt=0;//标记目前读到几个字节。
FILE*fp;//文件指针。
fp=fopen("in.txt","r");//打开文件。
while(1)
{
c=fgetc(fp);//读一个字节。
if(c==EOF)break;//到文件尾,退出循环。
buf[cnt]=c;//赋值到字符数组中。
cnt++;//读到的字符增加一个。
}
fclose(fp);//关闭文件。
return0;
}