题目内容

以下代码中的两个sizeof用法有问题吗?[C易]
void UpperCase(char str[] ) // 将 str 中的小写字母转换成大写字母
{
for(size_t i=0; i<sizeof(str)/sizeof(str[0]); ++i )
if('a'<=str[i] && str[i]<='z' )
str[i] -= ('a'-'A' );
}
char str[] = "aBcDe";
cout << "str字符长度为: " << sizeof(str)/sizeof(str[0]) << endl;
UpperCase(str );
cout << str << endl;

查看答案
更多问题

列举几种进程的同步机制,并比较其优缺点。

上述三个有什么区别?

分析下面的程序:
void GetMemory(char **p,int num)
{
*p=(char *)malloc(num);
}
int main()
{
char *str=NULL;
GetMemory(&str,100);
strcpy(str,"hello");
free(str);
if(str!=NULL)
{
strcpy(str,"world");
}
printf("\n str is %s",str);
getchar();
}
问输出结果是什么?希望大家能说说原因,先谢谢了

int a,b,c 请写函数实现C=a+b ,不可以改变数据类型,如将c改为long int,关键是如何处理溢出问题
bool add (int a, int b,int *c)
{
*c=a+b;
return (a>0 && b>0 &&(*c<a || *c<b) || (a<0 && b<0 &&(*c>a || *c>b)));
}

答案查题题库